我一直在寻找2天,但还没有找到解决这个问题的完整解决方案。
我的目录(在localhost上):
根
- fons(这是我的 htaccess 文件)
- - 功能(某些功能)
- - web(index.php)
- - docs(index.php)
- - user(index.php)
当我去localhost / fons /时,我想看到网页地图的内容,但网址应保留为localhost / fons。如果我去localhost / fons / docs /然后我看到文档内容,localhost / fons / user / - >用户内容
我写的.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(fons/user|fons/docs)
RewriteRule ^$ /fons/web
有了这个htaccess,当我去localhost / fons /我被重定向到web子文件夹并且url发生了变化。
我需要更改以便网址保持不变,但是我看到了网络文件夹的内容?
如果可能的话,有没有办法抛弃htaccess中的'fons',所以将来当我创建具有相同结构的另一个项目时,我可以复制粘贴htaccess而不需要更改它?
答案 0 :(得分:1)
你应该可以使用RewriteBase来消除/ fons:
RewriteEngine on
RewriteBase /fons
RewriteCond %{REQUEST_URI} !^/(user|docs)
RewriteRule ^$ /web [NC]
同样根据经验,除非您设置了[R]标志,否则重写器不应该实际转发到浏览器URL栏中的新URL。我添加了[NC](不区分大小写的标志)来显式地声明没有[R]标志。如果它正在做,你能提供一个进一步测试的链接吗?