0

我的 htaccess 并没有按照我想要的方式工作。我在这里看到了一些类似的线程,但它们并不是我所需要的,而且我对 htaccess 的了解还不够,无法修改代码以满足我的需要。

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

这就是我需要做的:我网站上的所有页面仍然可以通过带有 .php 的 URL 访问。出于 SEO 的原因,我希望带有 .php 的 URL 都执行外部 301 重定向到没有扩展名的干净 URL。

这是我在服务器根文件夹中的 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]

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

4

1 回答 1

1

我相信这应该有效

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

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

于 2010-04-02T00:33:16.510 回答