【问题标题】:Redirecting all URLs that end in .php to no extension将所有以 .php 结尾的 URL 重定向到无扩展名
【发布时间】:2011-10-11 08:31:57
【问题描述】:

我最近从我的所有页面中删除了 .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 URL,他们就会被重定向到无扩展名的 URL

【问题讨论】:

    标签: .htaccess redirect url-routing


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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-24
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      相关资源
      最近更新 更多