我已经使用htaccess重写我页面上的链接
RewriteEngine On
RewriteRule ^search/([^&]+)$ search.php?q=$1 [L]
RewriteRule ^login/?$ login.php [L]
# etc..
在我的PHP页面上,我的所有链接都是绝对的,如此
<?php require("/incl_head.php"); ?>
<link href="/css/css_file.css" rel="stylesheet" type="text/css">
<img src="/images/image.jpg">
这在本地工作正常,但现在我想在线测试它,我必须把它放到子文件夹中,因为我的旧页面仍处于活动状态。 我的子文件夹将进行测试,以便我的域名为www.mydomain.dk/test /
然后我的页面才有效,因为我的所有链接都是绝对的,并且没有/ test /在前面
是否有可能使所有链接都在/ test /前面,例如使用htaccess文件(不中断我的其他规则)?
或者我该怎么办?
已经看到了一些html基础可能性或者某些地方将root保存在vaiable中并包含在所有链接的前面。但是如果我将其添加到文件中并尝试包含它,那么每个页面上的包含都会遇到同样的问题。
希望有人可以帮助我
答案 0 :(得分:1)
选项1:
在DOCUMENT_ROOT/.htaccess
文件中尝试此规则:
RewriteRule !^test/ /test%{REQUEST_URI} [L,NC,R]
选项2 :您可以尝试在页面标题中添加:
<base href="/test/" />