2012-10-09 65 views
0

我一直在寻找2天,并没有找到一个完整的解决方案,这个问题。.htacces重写网址不起作用

我的目录(在本地主机上):

- FONS(这里是我的htaccess的文件位置)
- - 功能(部分功能)
- - 网页(的index.php)
- - docs(index.php)
- - user(index.php)

我想在我去localhost/fons /时看到网页地图的内容,但是网址应该保留本地主机/ FONS。如果我去到localhost/FONS /文档/然后我看到的文档内容,和本地主机/ FONS /用户/ - >用户内容

中的.htaccess我已经写了:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/(fons/user|fons/docs) 
RewriteRule ^$ /fons/web 

有了这个htaccess的当我去localhost/fons /我被重定向到Web子文件夹和URL更改。

我必须改变什么,以便网址保持不变,但我看到网络文件夹的内容?

如果可能的话,有没有办法在htaccess中抛弃'fons',所以在将来当我创建具有相同结构的另一个项目时,我可以复制粘贴htaccess并且不需要更改它?

回答

1

你应该能够使用RewriteBase消除像这样/ FONS:

RewriteEngine on 
RewriteBase /fons 
RewriteCond %{REQUEST_URI} !^/(user|docs) 
RewriteRule ^$ /web [NC] 

而且从经验来看,重写规则不应实际转发到新网址在浏览器地址栏,除非你有一个[ R]标志设置。我添加了[NC](不区分大小写的标志)来明确指出没有[R]标志。如果这样做,你能提供一个链接进一步测试?

+0

我会在5个小时内上线。在我的htaccess中,我得到一个404对象没有找到。 (因为htaccess没有索引文件,所以没有重写/重定向) – Jozzeh