【发布时间】:2014-06-27 18:19:09
【问题描述】:
以前的错误留下了错误的链接,我正在尝试使用 301 RedirectMatch 清理我的烂摊子。
正确的 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]
【问题讨论】:
标签: .htaccess url mod-rewrite redirect url-redirection