我的.htaccess
文件看起来像这样:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?pg=$1 [L]
当请求非文件或非目录网址时,它可以正常工作。
但是如果请求index.php?pg=(pagename)
,它也会起作用,这可能导致重复的内容问题。
有没有办法阻止这种情况?
答案 0 :(得分:1)
你没错,这可能会导致内容重复 而且,是的,可以避免它。
此解决方案将旧网址重定向到新的网址等效项,例如http://website.com/index.php?pg=get/my/page/please.html
到http://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]