使用htaccess而无需更改网址

时间:2013-01-27 19:24:03

标签: php html .htaccess mod-rewrite

我有这个htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ dl.php?id=/$1 [QSA,L]
</IfModule>

它完美无缺。我只有一个问题,我插入我的网站网址和像这样的图像

<img src="img/image.gif">
<a href="do.php">

它的短网址不像

<a href="mysite.com/img/image.gif">

所以现在我打开127.0.0.1/dl.php/1/我可以

$_GET['id']

但是我的链接和图片想要从

打开
http://127.0.0.1/dl.php/img/h.png

但必须

http://127.0.0.1/img/h.png

任何人都可以帮我这个吗?我无法更改我网站中的所有网址并将其设为完整网址。我喜欢50页,我希望这个htaccess只用于dl.php文件

1 个答案:

答案 0 :(得分:1)

它希望这样做是因为您在src中使用了相对路径。

只需将/添加到您的路径中,它就会转到您网站的根目录(即相对于域名),而不是当前文件夹的相对位置(当然,不是真正的文件夹,但根据URL,您的浏览器不知道更好。)

<img src="/img/image.gif">
<a href="/do.php">

很抱歉,但需要更改每条路径。有一种替代方法,但除非dl.php包含类似页眉/页脚,否则您仍需要更改每条路径。在这种情况下,您可以在标题中附加<base href=".." />标记,这将强制相对路径相对于您提供的路径进行解析。

<head>
    ...
    <base href="http://www.mysite.com/" />
</head>