htaccess重写绝对链接文件夹

时间:2013-11-03 01:12:13

标签: php .htaccess hyperlink rewrite absolute

我已经使用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中并包含在所有链接的前面。但是如果我将其添加到文件中并尝试包含它,那么每个页面上的包含都会遇到同样的问题。

希望有人可以帮助我

1 个答案:

答案 0 :(得分:1)

选项1:

DOCUMENT_ROOT/.htaccess文件中尝试此规则:

RewriteRule !^test/ /test%{REQUEST_URI} [L,NC,R]

选项2 :您可以尝试在页面标题中添加:

<base href="/test/" />