htaccess 301重定向
问题描述:
我是一个htaccess noob和atm我想解决一个网站的前任网站管理员留下的混乱。htaccess 301重定向
我有实例,如下面的
http://www.domain.com/Home
http://www.domain.com/Home/
http://www.domain.com/Home/Home
http://www.domain.com/Home/Home/
http://www.domain.com/Home/Home/Home
http://www.domain.com/Home/Home/Home/
这都需要301重定向到http://www.domain.com/
以下工作
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^((?=.*[A-Z])(?=.*[a-z]).{4,15}|(?=.*[A-Z])(?=.*[a-z]).{3,15}\/)$ "http\:\/\/www\.domain\.com\/" [R=301,L]
然后我也有实例,如以下几点:
http://www.domain.com/calendar.asp
http://www.domain.com/Calendar.asp
http://www.domain.com/calendar.asp?foo=123&bar=456&foobar=123456
http://www.domain.com/Home/calendar.asp?foo=123&bar=456&foobar=123456
http://www.domain.com/Home/Home/Home/Calendar.asp
http://www.domain.com/Home/Home/calendar.asp
http://www.domain.com/Home/Home/Home/calendar.asp?foo=123&bar=456&foobar=123456
等等等等
这都需要301重定向到http://www.domain.com/events/
对付他们的多种变体的日历页问题下面的两个工作...
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^calendar\.asp$ "http\:\/\/www\.domain\.com\/events\/?" [R=301,NC,L]
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^((?=.*[A-Z])(?=.*[a-z]).{4,50})\/[cC]alendar\.asp$ "http\:\/\/www\.domain\.com\/events\/?" [R=301,L]
但是...我怀疑我在这方面的尝试会被认为是最佳的,并且不知道应该如何做,而不是我和我有限的知识一起窃取一些东西。
任何帮助表示赞赏
感谢 率性
答
你可以只使用RedirectMatch
两种:
RedirectMatch 301 ^/(Home/?)+$ http://www.domain.com/
RedirectMatch 301 /[Cc]alendar\.asp$ http://www.domain.com/events/
在“家”的情况下,正则表达式任意数量的/匹配Home /'s和日历实例中,您只能检查它是否以Calendar.asp或calendar.asp结尾。
再试..对不起 嗨乔恩林 RedirectMatch 301^/(首页/?)+ $ http://www.domain.com/ 工程请客 然而 RedirectMatch 301/[ Cc] alendar \ .asp $ http://www.domain.com/events/ 给出了不同的结果.. 例如calendar.asp?event_id = 87重定向到正确的目录,但它现在保留查询参数例如/ events /?event_id = 87 calendar.asp?month = 1&day = 17&year = 2020&submit = Show + on + the Calendar 如果这个职位看起来一团糟有404个 感谢 率性 索里结束了..不知道如何使它看起来正确的..道歉 – 2012-01-30 12:15:28
只是为了澄清太..我的“再试一次”定向编辑在我自己,..不是你..我第一次尝试回复你,当我意外地击中输入,我不得不删除它.. – 2012-01-30 12:23:34
啊,我明白了,你可以添加**?**在结束时重定向的URL,以便查询字符串不会被追加,所以看起来像这样:'http://www.domain.com/events/?' – 2012-01-30 19:44:38