我有一个使用Yii2 web框架的网站,我试图用apache做的是当请求不要求js或css文件时重写url。这是我的配置:
#in httpd.conf
<VirtualHost *:80>
DocumentRoot /Users/shenshijun/Sites/intuplus/frontend/web
ServerName intuplus
RewriteEngine On
<IfModule rewrite_module>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php/$1
LogLevel alert rewrite:trace3
</IfModule>
</VirtualHost>
js文件的url类似于以下内容:http://intuplus/assets/85c70b6b/js/bootstrap.js,当我删除重写规则时,我可以访问它。但是当我添加rewriterule和rewritecond时,无论如何都会重写url并且我无法访问js文件或css文件。那么,有人可以解释为什么RewriteCond不在这里工作吗?
哦,apache版本:Server version: Apache/2.4.10 (Unix)
答案 0 :(得分:0)
你的重写规则是错误的,你应该试试这个:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
了解详情:http://www.yiiframework.com/doc-2.0/guide-start-installation.html#recommended-apache-configuration