我有一个mod重写问题apache似乎忽略了重写cond。
重写规则正在运行,因为我的所有页面都在工作,但问题在于css,imgs和js等资源。在我的HTML中,我使用"href=assets/css/style.css"
这是一个现有的文件,但我在我的index.php上重定向...
我做错了吗?
这是我的vhost配置
<VirtualHost *:*> ServerAdmin me@local.loc DocumentRoot "c:/wamp/www/Covoiturage" ServerName covoiturage.loc ErrorLog "logs/covoiturage-error.log" CustomLog "logs/covoiturage-access.log" combined <directory c:/wamp/www/covoiturage/> Allow from all AllowOverride all </directory> </VirtualHost>
这是我的htaccess:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ /$1 [R=301,L] RewriteRule ^ index.php [L]
答案 0 :(得分:3)
您要将RewriteCond
添加到错误的RewriteRule
。 RewriteCond
仅对下一个RewriteRule
有效。试试这段代码:
RewriteEngine On
## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]