我正在使用MOD_REWRITE通過單個文件傳送所有URL。其目的是讓漂亮的網址,如:使用mod_rewrite路徑問題的漂亮URL
http://mysite.com/shop/electrical/hoover
或
http://mysite.com/shop/checkout
等等等等
我做到這一點使用下面的.htaccess文件:
# Turn on the RewriteEngine
RewriteEngine On
#
# Rules
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . urlbug.htm
這是條PED下來HTML文件,完成所有的工作:
http://www.facebookanswers.co.uk/code/foobar/works
但是,如果你嘗試一個網址,如::
http://www.facebookanswers.co.uk/code/foobar/no/longer/works
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8">
<title>My web page</title>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.20.custom.css" media="all" rel="stylesheet"/>
</head>
<body>
<div id="accordion"><h3><a href="#">Home</a></h3><div>
<ul class="submenu"><li><a href="#" title="Clear Counters">Clear Counters</a></li></ul>
</div>
<h3><a href="#">Maintan Tables</a></h3>
<div>
<ul class="submenu">
<li><a href="#" title="Stock">Stock</a></li>
<li><a href="#" title="Categories">Categories</a></li>
<li><a href="#" title="Designers">Designers</a></li>
</ul>
</div>
<h3><a href="#">User Database</a></h3><div><ul class="submenu"></ul></div>
</div>
<script src="js/libs/jquery-1.7.1.min.js"></script>
<script src="js/libs/jquery-ui-1.8.20.custom.min.js"></script>
<script src="js/plugins.js"></script>
</body></html>
此,如果你訪問像一個URL工作
然後URL將加載,但是,CSS或JS文件都不會加載。
這是因爲我使用了相對URL。
如果我改用絕對URL,那麼一切正常。我已經設置了不同的文件夾來證明這一點:
http://www.facebookanswers.co.uk/code/foobar2/works
和
http://www.facebookanswers.co.uk/code/foobar2/works/as/well
這與絕對URL代碼:
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8">
<title>My web page</title>
<link type="text/css" href="http://www.facebookanswers.co.uk/code/foobar2/css/ui-lightness/jquery-ui-1.8.20.custom.css" media="all" rel="stylesheet"/>
</head>
<body>
<div id="accordion"><h3><a href="#">Home</a></h3><div>
<ul class="submenu"><li><a href="#" title="Clear Counters">Clear Counters</a></li></ul>
</div>
<h3><a href="#">Maintan Tables</a></h3>
<div>
<ul class="submenu">
<li><a href="#" title="Stock">Stock</a></li>
<li><a href="#" title="Categories">Categories</a></li>
<li><a href="#" title="Designers">Designers</a></li>
</ul>
</div>
<h3><a href="#">User Database</a></h3><div><ul class="submenu"></ul></div>
</div>
<script src="http://www.facebookanswers.co.uk/code/foobar2/js/libs/jquery-1.7.1.min.js"></script>
<script src="http://www.facebookanswers.co.uk/code/foobar2/js/libs/jquery-ui-1.8.20.custom.min.js"></script>
<script src="http://www.facebookanswers.co.uk/code/foobar2/js/plugins.js"></script>
</body>
</html>
某處沿線,路徑越來越困惑。最好的解決辦法是什麼?如果可能的話,我想保留相對的URL,因爲我正在開發的代碼將用於許多網站。如果我必須使用絕對URL,它不是世界末日,而且我知道絕對URL有性能優勢,但瀏覽器會很樂意加載URL,但認爲它存儲在其他地方似乎很奇怪!
我不認爲問題出在你的'RewriteRule',而是你的HTML代碼中的資源路徑。 –