在.htaccess中排除重写favicon

问题描述 投票:0回答:2

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

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

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

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

如果它不是对favicon.ico文件的请求,我怎么能重写这个.htaccess文件只重写?

.htaccess mod-rewrite rewrite
2个回答
1
投票

只需在规则中添加例外:

Options +FollowSymLinks -MultiViews

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

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


1
投票

在你的RewriteCond之前添加这个RewriteRule

RewriteCond %{REQUEST_URI} !=/favicon.ico
© www.soinside.com 2019 - 2024. All rights reserved.