1
以前的錯誤遺留了不好的鏈接,我試圖用301 RedirectMatch清理我的混亂。RedirectMatch 301更改URL的一部分
正確的URL是以下格式:
http://www.example.com/aaa-directory/page
http://www.example.com/bbb-directory/page
http://www.example.com/ccc-directory/page
(等)
不過,此前有鏈接到的網頁的不良鏈接:
http://www.example.com/aaa-directory//page
http://www.example.com/bbb-directory//page
http://www.example.com/ccc-directory//page
(雙反斜線//何時應該是單個/)
我修復了不良鏈接,但我仍然得到了外接鏈接和/或機器人抓取到那些不好的URL。
我想使用RedirectMatch 301,以便任何帶有文字「-directory//
」的鏈接都將重定向到與「-directory/
」相同的鏈接。
所以,http://www.example.com/ccc-directory//page
將被重定向到: http://www.example.com/ccc-directory/page
我的語法掙扎。任何幫助,將不勝感激!
(不知道這是需要的,但我目前的.htaccess文件如下):
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
謝謝,但沒有完全奏效。如果我輸入** www.example.com/aaa-directory // page **,它會將我帶入一個相當古怪的url,如下所示:** http://www.example.com/home3/username/public_html/ example.com/aaa-directory/page**。那個奇怪的URL至少會將雙反斜槓更改爲單個......所以也許我們正在取得進展?還有什麼建議? – user3597113
立即嘗試更新的代碼。 – anubhava
@anubhava與往常一樣,您對Apache RewriteRule知識印象深刻。一個驚人的資產給社區! – JakeGould