.htaccess 301将.php重定向到非php页面

56lgkhnf  于 2022-11-16  发布在  PHP
关注(0)|答案(1)|浏览(191)

目前,我的网站设置为将一个.php重定向到一个非php版本。问题是,当我检查时,它对两个页面都发出了“200 OK”,我知道这是谷歌的一个否定。
我想301重定向.php页面到非php页面。这是同一个页面,我已经添加了规范链接到该页面,反映非. php页面。
我如何设置301?我目前正在使用.htaccess处理.php以定向到非. 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页面(注意他们是同一个页面)?

velaa5lx

velaa5lx1#

您还需要一个附加规则:

# 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版本。因此,谷歌不会索引您的.php文件。

相关问题