使用htaccess删除重复的内容问题

时间:2015-12-22 17:56:48

标签: .htaccess url-rewriting

我的.htaccess文件看起来像这样:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?pg=$1 [L]

当请求非文件或非目录网址时,它可以正常工作。

但是如果请求index.php?pg=(pagename),它也会起作用,这可能导致重复的内容问题。

有没有办法阻止这种情况?

1 个答案:

答案 0 :(得分:1)

你没错,这可能会导致内容重复 而且,是的,可以避免它。

此解决方案将旧网址重定向到新的网址等效项,例如http://website.com/index.php?pg=get/my/page/please.htmlhttp://website.com/get/my/page/please.html

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/index\.php\?pg=([^&\s]*)\s [NC]
RewriteRule ^ %1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1 [L]