Url重写不使用cakephp

时间:2013-10-01 16:59:57

标签: php apache .htaccess cakephp mod-rewrite

我有一个应用程序,存储在我的域v2的​​子目录中。我已经设置了我的.htaccess文件,如下所示(在目录mydomain.com中)

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ v2/$1 [L]

据我所知,我的网址应该被重写,因此它们中不包含/ v2。 当我检查$this->base$this->webroot的值时,这不会发生,它是www.mydomain.com/v2 当它应该只是www.mydomain.com时,我有什么方法可以改变这个值。

所以我想要实现的是重写网址,以便www.mydomain.com/v2/products在地址栏中显示为http://mydomain.com/products

1 个答案:

答案 0 :(得分:0)

这些规则唯一要做的就是请求www.mydomain.com/products并在/v2/products内部提供资源。它没有对“更改”浏览器上的URL做任何事情。为此,您必须重定向

RewriteCond %{THE_REQUEST} \ /v2/([^\?\ ]*)
RewriteRule ^ /%1 [L,R=301]

并将其与您拥有的规则一起包括在内。