我正在尝试以下方法。
我有这个目录结构,可在我们的网络中找到,地址为xxx.xxx.xxx.xxx
root
-dir1
-dir2
-dir3
现在在我的dir1文件夹中,我有一个使用以下.htaccess文件的网站
RewriteEngine On
RewriteBase /dir1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
在我的网站上,我使用前面的“/”链接源和页面,例如“/ details”或“/css/app.css”
问题是,由于前面的“/".
,链接总是转到根文件夹如何在不必编辑所有链接和来源的情况下使链接“保留”在子目录中?
我尝试过使用
RewriteBase /
RewriteBase /dir1
RewriteBase /dir1/
RewriteBase dir1
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
RewriteBase
不会改变任何内容,因为它仅适用于相对路径目标。
RewriteBase指令指定用于替换相对路径的每个目录(htaccess)RewriteRule指令的URL前缀。
由于您的目标已经是绝对/index.php
,因此您可以完全省略RewriteBase
。
从给定的.htaccess中,似乎index.php返回所请求的文件。所以在这种情况下,我只是在路径前面加上适当的目录,例如
RewriteRule ^(.*)$ /index.php?path=/dir1/$1 [NC,L,QSA]
或者可能提供一个额外的参数,如果这对脚本更好用,比如
RewriteRule ^(.*)$ /index.php?path=$1&subdir=dir1 [NC,L,QSA]