我遇到IIS6的特定项目,我在使用ISAPI_Rewrite时遇到了困难。我使用symfony1 guide,安装了ISAPI_Rewrite3,我试图在网站域中将项目作为子目录(使用虚拟目录)安装。
mydomain.com上已有一个网站,我希望我的项目在mydomain.com/myproject下(没有尾随的web文件夹)。所以我在mydomain.com下的IIS中创建了一个虚拟目录,创建了文件夹c:\ myproject并在全局httpd.conf配置文件中添加了这些行
# Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# we skip all files with .something except .html
RewriteCond URL /myproject/.*\..+$
RewriteCond URL (?!/myproject/.*\.html$).*
RewriteRule /myproject/(.*) /myproject/$1 [L]
# we keep the .php files unchanged
RewriteRule /myproject/(.*\.php)(.*) /myproject/$1$2 [L]
# finally we redirect to our front web controller
RewriteRule /myproject/(.*) /myproject/app.php [L]
但是当指向mydomain.com/myproject时,所有内容都会导致找不到http 404。有人用IIS6和ISAPI_Rewrite安装sf2有什么成功吗?
答案 0 :(得分:0)
您有两个以相同模式“/myproject/(.*)”开头的规则,这可能会导致问题。 还有一些规则过多。请尝试以下配置:
# we skip all files with .something except .html
RewriteCond URL (?!/myproject/.*\.html).*
RewriteRule /myproject/.*\..+ $0 [I,L]
# finally we redirect to our front web controller
RewriteRule /myproject/.* /myproject/app.php [I,L]