如何执行301重定向所有.php URL以清理URL?

时间:2010-04-02 00:20:42

标签: php url .htaccess rewrite clean-urls

我的htaccess并不像我想要的那样工作。我在这里看过一些类似的线程,但它们并不是我需要的东西,我还不太了解htaccess修改代码以满足我的需要。

这是我到目前为止所做的工作:我已经将所有非www网址重定向到www网址,而我正在对所有网址进行内部重写,以对应相应的PHP文件服务器。在文件中,我有相对链接,它们是干净的,没有任何文件扩展名。

这就是我需要做的事情:我网站上的所有网页仍然可以通过末尾带有.php的网址访问。出于搜索引擎优化的原因,我希望带有.php的网址都可以在没有扩展名的情况下进行外部301重定向到干净的网址。

这是我在htaccess文件中的内容,它位于我服务器的根文件夹中。

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

我很感激任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

我相信这应该有用

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

L =上一个规则(如果匹配此模式,Apache将停止处理规则)