0

我的 .htaccess 文件中有这些行:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteRule ^([^/]+)/?$ index.php?page=$1 [L,QSA,NC]

这些重写规则工作正常,但我在此服务器的根目录中有一个 favicon.ico 图标,但我无法使用这些重写规则解决它。

如果它不是对 favicon.ico 文件的请求,我该如何重写这个 .htaccess 文件以仅重写?

4

2 回答 2

3

只需为您的规则添加一个例外:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /
RewriteCond ^([^/]+)/?$ !^favicon\.ico
RewriteRule ^([^/]+)/?$ index.php?page=$1 [L,QSA,NC]

也就是说,我想提一下,除非有充分的理由使用.htaccess样式配置文件,否则您应该将此类重写规则放入主服务器配置中。这更快,更容易调试。

于 2013-09-16T08:04:13.003 回答
3

RewriteCond在你之前添加这个RewriteRule

RewriteCond %{REQUEST_URI} !=/favicon.ico
于 2019-04-24T16:52:12.797 回答