重写cond%{REQUEST_FILENAME}-f不';不适用于.php文件
我有一个symfony 2网站,它要求所有URL都重新写入文档索引 此外,还有一些完全独立的“微型站点”,它们在web目录中的子文件夹已经用完了。我需要为指向microsite子文件夹的任何URL添加重写异常 这是我的.htaccess文件:重写cond%{REQUEST_FILENAME}-f不';不适用于.php文件,php,apache,mod-rewrite,Php,Apache,Mod Rewrite,我有一个symfony 2网站,它要求所有URL都重新写入文档索引 此外,还有一些完全独立的“微型站点”,它们在web目录中的子文件夹已经用完了。我需要为指向microsite子文件夹的任何URL添加重写异常 这是我的.htaccess文件: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !^/(microsite1|microsite2|microsite3)(.*)$
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(microsite1|microsite2|microsite3)(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ %{document_index} [QSA,L]
</IfModule>
重新启动发动机
重写cond%{REQUEST_URI}^/(微型1 |微型2 |微型3)(*))$
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$%{document_index}[QSA,L]
这适用于microsite文件夹中除.php文件以外的所有文件,即:
- www.domain.com/microsite1/index.html---works(显示index.html)
- www.domain.com/microsite2/--works(displays index.php)
- www.domain.com/microsite2/contact.php---不工作(显示symfony route not found错误)
- www.domain.com/microsite2/images/---成功显示目录列表
- www.domain.com/microsite2/images/image.jpg---成功显示图像
<VirtualHost *:80>
ServerName server-name
DocumentRoot /var/www/path/to/document/root
<Location />
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php
</Location>
</VirtualHost>
服务器名服务器名
DocumentRoot/var/www/path/to/document/root
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则!\。(js | ico | gif | jpg | png | css)$/index.php
密切关注最后一条重写规则…保持简单-将此规则添加到.htaccess:
RewriteCond %{REQUEST_URI} ^/microsite1 [OR]
RewriteCond %{REQUEST_URI} ^/microsite2 [OR]
RewriteCond %{REQUEST_URI} ^/microsite3
RewriteRule ^.*$ - [NC,L]
通过
RewriteLog
和RewriteLogLevel
指令打开重写日志记录。看看发生了什么。如果日志条目没有意义或者mod_rewrite
没有达到预期效果,请返回并发布日志条目。