2009-11-21 45 views
2

我已经搜索过,尝试过各种示例,并且没有任何其他操作,除了创建明确的重定向语句列表似乎工作。
我遇到的最大问题是,虽然我可以访问网站,但是我没有访问任何虚拟主机控制面板 - 站点访问被继承,直到现在,它一直很好,但我认为它要么运行旧版本的Apache,要么不允许重写规则。
安哇,多年来,网站已经多次更改,并且在使用Google Webtools注册站点后,我发现了导致抓取错误的页面列表,因此创建了一个HTACCESS文件来处理这些文件。
多年来,部署和命名的文件夹都是骆驼大小写的,都是小写字母,所以我只想将文件夹中的所有文件重定向到.htaccess文件级别的新文件夹,即
我的。htaccess目前有120线,以及示例批次如下:
重定向301 /challenge/stanley_steamer.htm /lsr_history.html
重定向301 /challenge/stanley_steamer.html /lsr_history.html
重定向301 /挑战将/index.htm /lsr_history.html
重定向301 /Challenge/Record.htm /lsr_history.html
重定向301 /Challenge/Stanley_Steamer.htm/lsr_history.html
重定向301 /Challenge/Sponsors/Avery_Weigh-Tronix.htm /sponsors.html
重定向301 /contact/index.html /contact.html
重定向301 /design/details.html /design.html
重定向301 /design/index.html /design.html
重定向301 /Design/Engine-drive_train.htm /design.html
重定向301 /Design/Rear.htm /design.html
重定向301 /设计/ Home_Page.htm /design.html
redirect 301 /Design/index.htm /design.html
正如您所见,我有一些情况下文件夹名称是骆驼,其他人较低,以及其他情况下,有一个htm和爬网错误日志中列出的同名的html文件。
我想要做的就是在上面的示例中,将所有/ Challenge /和/ challenge /中的所有页面重定向到lsr_history.html,但将/ Challenge/Sponsors /中的所有文件重定向到sponsors.html。
我也有一个庞大的单个团队页面列表,我逐个列出,每个列表都重定向到新的团队页面。
我已经试过类似的例子:
RedirectMatch 301 ^/[CC] hallenge//challenge.html,但这返回一个 '错误404未找到'。
任何想法或例子,我可以减少我的htaccess文件,以简化这个将受到感谢。
问候
马丁将文件夹中的所有页面重定向到根级别的页面时遇到困难

+0

抱歉,但TL;博士 – 2009-11-21 22:10:53

回答

1

我不会刻意寻找匹配字符串为这种事情内部情况下,如果我能避免它 - 你试过只是在指定小写RedirectMatch,并追加[NC]到年底每一行? (这将告诉mod_rewrite忽略大小写和匹配不管,这可能会节省您一些时间)

如果您有类似格式重写的集合,为什么不将它们组合在一起,每个规则都有一组特定的规则?这样,你可以涵盖,例如,所有传入的URL与一个子目录有一个规则,并用一个单一的子目录一个另一个规则的所有传入的URL。如果没有别的,它可以帮助简化查看。htaccess文件:)

(采取一切,我有盐的大剂量建议,我仍然得到认真处理mod_rewrite的黑magick自己)

相关问题