2014-11-24 60 views
0

我使用IIS7.5。根目录被映射到路径'wwwroot',在这个路径下我有包含单个网站的目录。删除Web.config中的Web部分的Symfony 2

刚开始通过Symfony 2的文档工作。symfony网站位于名为'Symfony'的文件夹下,即'wwwroot/symfony'。

我可以使用这个网址访问网站的路径:symfony/web/controller/param

我怎样才能摆脱“网络”的一部分,因此它是:symfony/controller/param

这里是web.config中的相关部分:

<rule name="RewriteRequestsToPublic" stopProcessing="true"> 
    <match url="^(web/)(.*)$" /> 
    <action type="Rewrite" url="web/app_dev.php?{R:2}" logRewrittenUrl="true"/> 
</rule> 

我尝试这样做,它不工作:

<rule name="RewriteRequestsToPublic" stopProcessing="true"> 
    <match url="^(/)(.*)$" /> 
    <action type="Rewrite" url="web/app_dev.php?{R:2}" logRewrittenUrl="true"/> 
</rule> 

回答

4

您应该指向的网站你的IIS根目录下的web目录(不是symfony根目录)。这将从您的网址删除web和(更重要的),这是因为安全原因劝 - 只有web目录应该是可访问的

编辑: 如果你不想改变你的wwwroot那么我会建议使用符号链接在windows(mklink命令)中创建一个名为symfony的链接,指向您的symfony的web目录下的wwwroot目录(在这种情况下,您的symfony项目在哪里并不重要)。

然后你就可以访问/symfony URL和符号链接将您重定向到您的web目录

+0

注意到。但是,它位于开发人员计算机上,安全性不受关注。根目录从Symfony的一级指向,我想保持这种方式,以便能够以快捷方式访问根目录下的多个站点。 – 2014-11-24 10:19:59

+0

不幸的是,建议的解决方案不起作用。创建符号链接,测试它并正确指向web文件夹。尝试在浏览器中导航给404。我认为这是因为web.config是在symfony文件夹下(一级),现在无法访问。 – 2014-11-24 10:38:37

+0

我猜'web.config'相当于'.htaccess'吗?如果是这样,它应该在你的'web'目录中。尝试输入'/ symfony/app_dev.php'或'/ symfony/index.php' - 如果这样做的话.htaccess问题 – 2014-11-24 11:20:51