2
我是一個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 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