对不起,如果这是一个非常愚蠢的问题 - 我无法在任何地方找到答案......
我将测试文件存储在名为“dev”的子目录中,并使用以下重写规则,以便/dev/VAR1/VAR2
的请求将我带到/index.php?page=VAR1/VAR2
,并请求/dev/VAR1/
我会带我去/index.php?page=VAR1
(VAR1和VAR2是变量,文件夹/子目录实际上不存在)
RewriteBase /dev
RewriteRule ^([A-Za-z/\-]+)/$ index.php?page=$1
这样做很好 - 我的index.php正在获得正确的变量。问题是服务器或页面(或者我不明白......)认为我实际上在不存在的文件夹(或子目录)中是VAR1,所以我所有的亲戚(如果这是正确的词)地址的图像和链接和CSS和脚本等
<link rel="stylesheet" type="text/css" href="./sitefiles/mystyles.css" />
所有工作都好像是/dev/VAR1/sitefiles/mystyles.css
- 基本上,服务器认为它实际上在'假'文件夹中。
有没有办法可以继续使用我的mod_rewrite使用这些相对地址,还是必须使用完整路径的'绝对'地址?
感谢您的帮助!
答案 0 :(得分:0)
我们在配置中使用相同的东西并将假冒别名重写为index.php?something = $ 1我们必须将CSS文件放入DocumentRoot的/ styles /中并且不要使用相对的./ path使用绝对路径,如href =&#34; /sitefiles/mystyles.css"它应该工作正常。