【问题标题】:.php url to .html url.php 网址到 .html 网址
【发布时间】:2011-12-20 20:35:35
【问题描述】:

我有一个在 .php 中构建的网站,但我们已使用 "mod rewrite" 将其转换为 .html.htaccess中使用的mod重写代码是

RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php

现在问题是我的网站同时出现在.php.html

例如:www.mydomain.com/index.htmlwww.mydomain.com/index.php

据我所知,它不适合 seo 目的,而且它可能会在搜索引擎中出现重复的内容。

所以我只想在搜索引擎和用户中保留.html [not .php] url。

怎么做?

【问题讨论】:

    标签: php mod-rewrite url-rewriting webserver


    【解决方案1】:

    更新合作的 cmets(谢谢大家)

    添加另一个重写规则,在您的其他规则之前将所有 *.php 重定向到 *.html 文件。 类似的东西:

    RewriteRule ^(.*).php$ $1.html [R=301,QSA,L]
    

    将所有 php 文件重定向(R 标志)到带有永久重定向(301)的 html,并停止处理其他所有文件(L 标志)。它还转发所有查询参数(QSA 标志)

    【讨论】:

    • 您忘记了反斜杠,并要求在转发 (QSA) 中保留查询参数:RewriteRule ^(.*)\.php$ $1.html [R=301,QSA,L]
    • “家伙 s ”?我是这里唯一的一个! =)
    • 您好,感谢您的帮助,但需要更多帮助/确认。我正在使用以下规则。请让我知道我应该删除它们中的任何一个还是保持原样。Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)\.php$ $1.html [R=301,QSA,L] RewriteRule ^(.*)\ .html$ $1.php ErrorDocument 404 /404.php RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*)$ example.com/$1 [R=permanent,L]
    • 当我使用你的建议时,我的网站停止工作。它说重定向到错误的页面。我使用了这个 RewriteRule ^(.*)\.php$ $1.html [R=301,QSA,L]
    • “这个网页有一个重定向循环”它这么说。
    【解决方案2】:

    你能不能把 .php 文件重命名为 .html 并删除 RewriteEngine 规则? PHP 仍应按预期运行。

    【讨论】:

    • 仅当 php 设置为解析 *.html 文件时才有效(不推荐)
    • 为什么不推荐这个?以便对php有什么没有什么有一个清晰的定义?
    • 如果您将脚本配置为允许上传 *.html(这通常没问题),如果您打开它们,它们就会被解析。问题是,您现在可以在没有验证或其他东西的情况下随意使用 php 代码。
    • 我的网站是用 php 构建的,其中安装了打开的购物车。所以我不能将 .php 文件重命名为 .html。如果我这样做,我的购物车将无法工作。因此,我通过使用 mod rewrite 将内容页面的 .php 转换为 .html。但问题是我的网站在搜索引擎中同时显示为 .php 和 .html,这对于 seo 来说非常糟糕,而且它也被搜索引擎视为重复内容。所以请帮帮我。克里斯我也试过你的建议,但它不起作用。它说“网页有一个重定向循环”。所以告诉我任何其他的出路。提前致谢。
    【解决方案3】:

    最简单的方法是在您的 robots.txt 中简单地拒绝“.php”。

    User-Agent: *
    Disallow: *.php
    

    所有正常的蜘蛛都会遵守这个指令

    【讨论】:

    • 问题在于,蜘蛛可能已经爬过该站点。那么下次他们抓取页面时会发生什么?要么删除站点,要么将其保留在索引中。更好的是 301 重定向(永久移动)。
    • 他们会在下次访问时加载 robots.txt 并采取相应措施。我刚刚用同样的方法去掉了谷歌上的几个页面。简单直接。
    • 但它对搜索结果有何帮助?和用户?会解决重复内容的问题吗?
    • 它告诉机器人不要访问任何以“.php”结尾的页面,因此不记录它们。随着时间的推移,以前记录的“.php”页面将退出谷歌。
    猜你喜欢
    • 2015-03-04
    • 2016-11-28
    • 2011-04-05
    • 2013-08-17
    • 2015-08-14
    • 2016-04-30
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多