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