今天在将一个PHP应用上传到虚拟主机上时,rewrite规则发生了问题。在本地apache服务器上能跑的.htaccess规则,在虚拟主机的IIS上就出问题了
.htaccess内容
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php/$1 [QSA,PT,L]
</IfModule>
功能是实现去掉 .index.php 优化url
在iis上这么配是不生效的 在多番折腾下 在httpd.conf用以下规则终于搞定
RewriteRule ^(.*?(\.css|\.js|\.jpg|\.jpeg|\.png|\.gif))$ /$1 [QSA,PT,L]
RewriteRule ^(.*)$ /index.php/$1 [QSA,PT,L]