2

我是这个 modrewrite 野兽的新手。我设法让它工作,我可以正常加载 index.php 作为 index.html 例如。

问题是当我尝试导航到 index2.html 并收到错误 404 错误时,The requested URL /index2.php was not found on this server.

我的 .htaccess 中有这段代码:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

我尝试了几件事,但我只是陷入了困境。

基本上我想从 PHP 重写为 HTML,但我想看到实际上是 HTML 的文件也能正常工作。

我的第二个问题,也许最重要的是,在 SEO 方面有多好,它是正常的还是使用这种重写规则有什么缺点?

4

1 回答 1

3

尝试添加条件-f

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/(.*)\.html$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*)\.html$ $1.php [nc]

在重写之前检查以确保文件作为 php 存在

至于您的第二个问题,无论扩展是html还是php,这两种方式都没有太大区别。主要是因为您似乎在提供静态内容。

于 2012-08-24T22:24:27.463 回答