Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Base URL in .htaccess

I wonder if this is possible to tell via .htaccess or any other manners to set a base URL.

Example

My CSS in the index.php is set like this

<link rel="stylesheet" href="css/style.css"/>

Everything works fine when i'm on the first directory to load my file and pages. But when I have a page set in a folder like /page/index.html. The css isn't loaded because the folder is not in page/ but in the root directory.

So is that possible to tell it to look always from the root directory to load the CSS, images, javascript, etc or I have to set the full url path to each element I want to load (CSS, images, javascript, etc)?

Thanks

like image 956
Warface Avatar asked Dec 21 '22 10:12

Warface


2 Answers

Use Base URL, for example:-

<html>
<head>
<base href="http://www.w3fools.com/" target="_blank" />
<!-- only one base element is allowed -->
<link rel="stylesheet" type="text/css" href="/stdtheme.css" />
</head>

<body>
<img src="stickman.gif" width="24" height="39" /> - Notice that we have only specified a relative address for the image. Since we have specified a base URL in the head section, the browser will look for the image at "http://www.w3schools.com/images/stickman.gif"
<br /><br />
<a href="http://www.w3fools.com">Don't use W3Schools</a> - Notice that the link opens in a new window, even if it has no target="_blank" attribute. This is because the target attribute of the base element is set to "_blank".

</body>
</html>
like image 84
Naga Harish M Avatar answered Dec 24 '22 01:12

Naga Harish M


You should use an absolute path in your pages:

<link rel="stylesheet" href="/css/style.css"/>

Base tags can cause numerous headaches as all non-absolute URIs will be used with it.

like image 32
webbiedave Avatar answered Dec 24 '22 00:12

webbiedave