将以.php结尾的所有网址重定向到无扩展名

Eri*_*ric 2 .htaccess redirect url-routing

我最近.php从所有页面中删除了扩展程序.

Google搜索结果仍显示:

www.mysite.com/page.php
www.mysite.com/directory/page-example.php
Run Code Online (Sandbox Code Playgroud)

这些现在已经死了.新的是:

www.mysite.com/page
www.mysite.com/directory/page-example
Run Code Online (Sandbox Code Playgroud)

什么是适当的重定向,以便如果有人点击其中一个.php网址,他们将被重定向到无扩展名网址

Laz*_*One 7

  1. <link rel="canonical" href="FULL_PROPER_URL" />在您的网页中使用.这将告诉搜索引擎在显示搜索结果时使用该URL,并在看到重复的URL时将其视为主URL.细节在这里:

  2. 使用301永久重定向.请注意,.php如果此类链接在其他某个网站上公开,则不会阻止Google或任何其他搜索引擎请求网页.

这需要放在网站根文件夹中的.htaccess文件中.如果放在其他地方,可能需要进行一些调整.

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

# redirect to .php-less link if requested directly
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteRule ^(.+)\.php $1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

上面的规则将301重定向到一个不需要php的URL.它只会在直接请求.php文件时重定向,并且不会触及已经重写的URL.