referring to .css and images from script-generated HTML
I have a site with static HTML pages in the home directory. These HTML pages use relative paths to refer to images, css, and links i.e.
<img src="images/myimg.gif">
and
<a href="contactUs.html">Contact Us</a>
I also have a monolithic script whose URL is, i.e. http://mysite.com/myScript
which uses "extra path info" to select functions... i.e. http://mysite.com/myScript/products
shows a list of products. So in HTML generated from the script I need to refer to images, css and links like this:
<img src="../images/myimg.gif">
and
<a href="../contactUs.html">Contact Us</a>
The problem is now I want to start moving common HTML into include
files, (e.g. common header and footer), but the fact that the script and the static HTML refer to relative resources in different ways is complicating matters.
I don't want to 开发者_如何转开发use absolute paths because that messes up my colleague's work when she tries to work on the pages in DramWeaver, and it also makes the site less flexible.
What's the best way to solve this issue? One idea I had was to use URL rewriting in Apache to allow the URL to http://mysite.com/products
to really use http://mysite.com/myScript/products
but I don't have experience with URL rewriting so I don't know how easy that would be. Another idea I had was to use the META BASE
attribute in HTML but I don't like the fact that I would have to hard-code that into every HTML page, and it would have to have the full URL hard-coded (e.g. http://mysite.com/
) into each one. Any advice?
Can't you refer to your images with a slash at the beginning so all files linked to are from the root, no matter how deep you are in the directory structure you are? E.g:
<img src="/images/myimg.gif" />
EDIT:
You could use $_SERVER
to get the path then use substr_count
to count the number of slashes in the path. Add as many ../
's as you need based on that number. Would that work for you?
精彩评论