如何使用ISAPI_Rewrite在IIS上安装Symfony2

时间:2011-12-07 16:09:28

标签: iis-6 symfony isapi-rewrite

我遇到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有什么成功吗?

1 个答案:

答案 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]