我有一个在linux服务器上开发的symfony2项目,并且由于我无法控制的原因将其迁移到Windows服务器(不幸!).除了url重写之外,这一切都正常.我尝试使用IIS URL重写模块但是在转换大多数规则时失败了(而且我没有保存它失败的列表).
它大部分工作正常,但app.php仍然存在于所有网址的开头,它不应该存在.所以网址是domain.com/app.php/correct/path,它们应该是domain.com/correct/path
不幸的是我很少使用Windows服务器,并且不擅长web.config语法,所以如果有人可以建议从Windows服务器上的所有网址的开头删除app.php缺少什么,那将非常感谢!
原始的.htaccess文件是:
DirectoryIndex app.phpRewriteEngine On RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule .? - [L] RewriteRule .? %{ENV:BASE}/app.php [L] RedirectMatch 302 ^/$ /app.php/
转换后的web.config文件目前是:
非常感谢!
戴夫