2012-01-17 185 views
1

我试图转发请求/bar/baz/web/index.php/bar/baz,以便您不必在URL中使用该“网络”文件夹。到目前为止,我有/.htaccesshtaccess重写URL删除

RewriteEngine On 
RewriteRule ^(.*)$ web/index.php [QSA,L] 

它是,现在要求/controller/action/导致错误的问题:

No route found for "GET /web/controller/action"

这背后的框架并不重要,关键是,它应该是controller/action没有额外的“网络”的网址。

+1

是的,哦**是**框架很重要,因为它可以做一个重定向(Wordpress在一些配置上,Drupal和Joomla也是如此)。所以你必须确定哪个框架,用户输入哪些URL以及如何在服务器端进行内部修改。 – 2012-01-17 16:39:17

+0

@OlivierPons Symfony 2. – Tower 2012-01-17 18:44:53

+0

对不起,我*很直截了当,但在没有提供足够的信息的情况下寻求帮助有时会令人沮丧。 – 2012-01-17 20:52:14

回答

1

与此一改变你的.htaccess代码:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteRule ^(?!web/index\.php|controller/)(.*)$ web/index.php/$1 [QSA,L,NC] 

什么这个规则将做内部重定向,除了开头/controller/web/index.php/web/index.php所有请求。