我目前在.htaccess文件中美化网址(www.abc.com/user.php?url="rio“)的正则表达式代码是
RewriteCond %{REQUEST_URI} user
RewriteRule ^([a-zA-Z0-9-/]+)/([a-zA-Z0-9-/]+)$ user.php?url=$2
RewriteRule ^([a-zA-Z0-9-/]+)/([a-zA-Z0-9-/]+)/$ user.php?url=$2
它工作正常,页面网址被美化为:
www.abc.com/user/rio
但是现在有一个问题,现在即使我改变了网址,如下所示:
www.abc.com/user/user/user/rio
www.abc.com/user///rio
www.abc.com/user/abc/rio
这些链接的工作方式相同,这就是内容重复。 请帮忙!
答案 0 :(得分:1)
您可以在您的网站根目录中尝试这些规则.htaccess:
Options -MultiViews
RewriteEngine On
# remove multiple slashes
RewriteCond %{THE_REQUEST} //
RewriteRule ^.*$ /$0 [R=301,L,NE]
# handles /user/something
RewriteRule ^user/([\w-]+)/?$ user.php?url=$1 [L,QSA,NC]
Options -MultiViews
需要关闭内容协商功能。