htaccess重写与网址删除

时间:2012-01-17 14:22:23

标签: apache .htaccess url-rewriting

我正在尝试将请求从/bar/baz转发到/web/index.php/bar/baz,这样您就不必在URL中使用该“web”文件夹了。到目前为止,我有/.htaccess

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

问题在于现在对/controller/action/的请求导致错误:

  

找不到“GET / web / controller / action”的路由

这背后的框架无关紧要,重点是它应该是controller/action,而不会在网址中添加额外的“网页”。

1 个答案:

答案 0 :(得分: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之外,此规则将内部重定向所有请求。