为什么 RewriteCond 在 httd.conf 中不起作用?
Why RewriteCond is not working in httd.conf?
我有一个使用 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/
LogLevel alert rewrite:trace3
</IfModule>
</VirtualHost>
js文件的url是这样的:http://intuplus/assets/85c70b6b/js/bootstrap.js,去掉rewrite规则后就可以访问了。但是当我添加 rewriterule 和 rewritecond 时,url 无论如何都会被重写,我无法访问 js 文件或 css 文件。那么,有人可以解释为什么 RewriteCond 在这里不起作用吗?
哦,apache 版本:Server version: Apache/2.4.10 (Unix)
你的重写规则是错误的,你应该试试这个:
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
我有一个使用 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/
LogLevel alert rewrite:trace3
</IfModule>
</VirtualHost>
js文件的url是这样的:http://intuplus/assets/85c70b6b/js/bootstrap.js,去掉rewrite规则后就可以访问了。但是当我添加 rewriterule 和 rewritecond 时,url 无论如何都会被重写,我无法访问 js 文件或 css 文件。那么,有人可以解释为什么 RewriteCond 在这里不起作用吗?
哦,apache 版本:Server version: Apache/2.4.10 (Unix)
你的重写规则是错误的,你应该试试这个:
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