在mod_rewrite之后如何处理原始页面?

时间:2011-09-07 16:39:21

标签: .htaccess mod-rewrite

所以我对所有html扩展进行了条带化​​,现在可以访问带有扩展名的扩展名和没有扩展名的扩展名。

谷歌现在看到将/example.php和/ example视为重复内容吗?

我怎么才能这样做只有没有html扩展名的文件显示?

我的代码:

    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.html -f 
    RewriteRule ^(.*)$ $1.html

1 个答案:

答案 0 :(得分:2)

隐藏现有文件但仍然提供它们的整个概念有点奇怪,但从技术上讲它会像以下一样工作

RewriteEngine on 

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

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html

这是从/example.html重定向到/example并返回http状态代码301(“永久移动”)。这告诉例如谷歌此页面的内容已移动。