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

时间:2011-07-22 20:14:12

标签: .htaccess redirect url-routing

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

Google搜索结果仍在显示:

www.mysite.com/page.php
www.mysite.com/directory/page-example.php

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

www.mysite.com/page
www.mysite.com/directory/page-example

什么是相应的重定向,以便如果有人点击其中一个.php网址,它们会被重定向到无扩展名网址

1 个答案:

答案 0 :(得分:7)

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

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

  3. 这需要放在网站根文件夹中的.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]
    

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