我有这个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
文件
答案 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>