2014-09-10 35 views
0

我在这里经历了所有QA,但我没有弄清楚。htaccess删除部分url路径并停留在基地(在本地主机上)

我正在使用wamp,我的网站驻留在名为'site'的文件夹中。

我想利用这些规则来重定向这个

http://localhost/site/public/foo/bar/ 

http://localhost/site/foo/bar/ 

RewriteEngine On 
RewriteBase /site/ 
RewriteRule ^public/(.*)$ /$1 [L,R=301,QSA] 

,但它重定向到

http://localhost/foo/bar/ 

如果我明确提到它在规则然后它的作品。

RewriteRule ^public/(.*)$ /site/$1 [L,R=301,QSA] 

我可以在没有明确添加/ site /的情况下编写规则吗?

+0

是的,你可以。试试这个'RewriteRule^public /(.*)$ $ 1 [L,R = 301,QSA]' – PatrickB 2014-09-10 09:01:50

回答

1

你可以试试这个吗?

RewriteRule ^public/(.*)$ $1 [L,R=301,QSA] 
+0

谢谢..那个工作....所以斜线是邪恶的! :) – Khan 2014-09-10 09:34:28

+1

想象一下你对apache的说法;)Apache应该用“/ *”重写“public/*”。你将从相对到绝对。那就是问题所在。 – PatrickB 2014-09-10 09:59:33