0

目前,我的网站设置为将 .php 重定向到非 php 版本。问题是当我检查时,它对两个页面都发出“200 OK”,我知道这对谷歌来说是不行的。

我想 301 将 .php 页面重定向到非 php。是同一个页面,并且我已经在页面中添加了规范链接,反映了非.php页面。

如何设置 301?我目前正在处理 .php 以使用 .htaccess 和以下代码定向到非 .php 页面:

# Remove filename extension
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^([^\.]+)$ $1.php [QSA,NC,L]
</IfModule>

任何想法如何解决 200 OK 到 301 重定向 .php 页面(注意它们是同一页面)?

4

1 回答 1

2

你需要一个额外的规则:

# Remove filename extension
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # To externally redirect /dir/abc.php to /dir/abc
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
    RewriteRule ^ /%1 [R=301,L,NE]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.+?)/?$ $1.php [QSA,NC,L]
</IfModule>

将此规则放在现有规则之前。

这会将所有.php文件从外部重定向到非.php版本。因此 Google 不会为您的.php文件编制索引。

于 2013-10-16T17:34:57.437 回答