0

我已经搜索了 2 天,还没有找到解决这个问题的完整方法。

我的目录(在本地主机上):
root
- fons(这是我的htaccess文件所在的位置)
- - 函数(一些函数)
- - web (index.php)
- - docs (index.php)
- - user (index.php)

当我去 localhost/fons/ 时,我想看到 web 地图的内容,但 url 应该保持 localhost/fons。如果我去 localhost/fons/docs/ 然后我会看到文档内容和 localhost/fons/user/ -> 用户内容

我写的.htaccess:

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

当我转到 localhost/fons/ 时,有了这个 htaccess,我被重定向到 web-subfolder 并且 url 发生了变化。

我必须更改什么以使 url 保持不变,但我看到了 web 文件夹的内容?

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

4

1 回答 1

1

您应该能够使用 RewriteBase 来消除 /fons ,如下所示:

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

同样根据经验,除非您设置了 [R] 标志,否则重写器实际上不应转发到浏览器 url 栏中的新 url。我添加了 [NC](不区分大小写标志)以明确声明没有 [R] 标志。如果它正在这样做,您能否提供一个链接以进一步测试?

于 2012-10-09T07:57:23.497 回答