Reputation: 545
I have this htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ dl.php?id=/$1 [QSA,L]
</IfModule>
it works perfect. I just have one problem, I insert my site urls and images like these
<img src="img/image.gif">
<a href="do.php">
its short url not full like
<a href="mysite.com/img/image.gif">
so when now I open 127.0.0.1/dl.php/1/
I can get
$_GET['id']
But my links and images want to open from
http://127.0.0.1/dl.php/img/h.png
but it must be
http://127.0.0.1/img/h.png
can anyone help me with this? I can't change all urls in my site and make them full url. I have like 50 page and I want this htaccess just for dl.php
file
Upvotes: 2
Views: 251
Reputation: 21969
It wants to do this because you're using relative paths in your src
.
Simply prepend a /
to your paths, and it will go to the root of your site (ie. relative to the domain), rather than relative from the current folder (of course, not a real folder, but according to the URL your browser doesn't know any better).
<img src="/img/image.gif">
<a href="/do.php">
Sorry to say but you will need to change each path. There is one alternative, but you'd still have to change every path unless dl.php
contains like a header/footer. In this case, you can append a <base href=".." />
tag to the header, which will force relative paths to be resolved relative to the path you give it.
<head>
...
<base href="http://www.mysite.com/" />
</head>
Upvotes: 1