由于斜杠的重复页面

时间:2013-12-21 07:47:47

标签: .htaccess seo duplicates

由于尾​​随斜杠问题,我的某些网页会重复。 E.g socktail.com/shopsocktail.com/shop/是重复且可访问的。 请让我知道如何解决这个问题。我是网络技术的新手,甚至不知道我的.htaccess文件是否正常 以下是我的.htaccess的内容,

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|javascript|images|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?socktail\.com)$ [NC]
RewriteRule .? {REQUEST_URI} [R=301,L]

2 个答案:

答案 0 :(得分:1)

看起来几乎所有请求都由index.php文件处理。您需要使用尾部斜杠将所有请求重定向到没有尾部斜杠的请求,否则您需要以相反的方式执行此操作。

#Remove all trailing slashes
RewriteRule ^(.*)/$ /$1 [R=301,L]

或者...

#Make sure all requests end with one
RewriteRule ^(.*[^/])$ /$1/

RewriteBase之后,但在您的第一个RewriteRule / RewriteCond之前添加该规则。

答案 1 :(得分:0)

您可以使用301添加删除尾部斜杠的规则。请遵守以下所有规则:

RewriteEngine On

# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^ /%1 [R=301,L,NE]

# existing rule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|javascript|images|robots\.txt)
RewriteRule ^(.+)$ /index.php?/$1 [L]