我設置了乾淨的網址,對於那些大部分他們工作得非常好的網站。然而,一些相對路徑的CSS,圖像等,使用假的清潔URL根濫交。乾淨的網址弄亂了相關鏈接
要啓動,這是我的.htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase/
# Rewrite for page and number
RewriteRule ^([a-zA-Z0-9\-]+)/([0-9\-]+)$ index.php?page=$1&n=$2 [L]
RewriteRule ^([a-zA-Z0-9\-]+)/([0-9\-]+)/$ index.php?page=$1&n=$2 [L]
# Rewrite for page only
RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?page=$1 [L]
RewriteRule ^([a-zA-Z0-9\-]+)/$ index.php?page=$1 [L]
作品不夠好,我想要的,據我可以告訴這是我想要的。
我也有一些動態加載/重新加載頁面內容通過AJAX技術。基本上,給定一個頁面名稱(給index.php的var頁面),它返回一個HTML或PHP文件的URL來填充/替換一些包含主要內容的div。這東西雖然,立即不起作用。
function loadContent(page, number) {
// this stuff puts a temporary loading image
$("#StageContent").html(
"<div id='loading' style='width:100%; text-align:center;'>"
+ "<img src='images/ajax-loader.gif' style='margin-top:50px;' />"
+ "</div>"
);
// jQuery call to php to retrieve url for given page name
$.getJSON("includes/pages.php", {page:page, n:number}, function(json) {
$("#StageContent").load(json.page_url);
document.title = json.page_title;
current_page = json.page_name;
page_number = json.page_number;
console.log("page loaded: " + current_page);
});
}
問題在於動態創建的網址(圖像源和json.page_url)現在已經添加了假清潔URL路徑給他們。例如。當爲主頁加載時(www.mysite.com/home/),它將「home /」添加到這兩個中,例如對於圖像,它試圖找到「www.mysite.com/home/images/ ajax-loader.gif「而不是」www.mysite.com/images/ajax-loader.gif「,導致一個不好的鏈接。但它只爲這兩個,而不是其他圖像或腳本或CSS鏈接在頁面中,所以其餘的加載罰款。 [之後:這是因爲我先加載它的基礎網址,然後嘗試加載一個頁面,當試圖只是乾淨的URL它創造的問題,就像下面一樣]
另一個奇怪的是,當使用多部分乾淨的URL(例如,讓我們說「www.mysite.com/papers/2/」,我希望從論文內容中獲得第2頁,現在除了上述問題外,還會發生網頁中的每個相關鏈接但只有一個級別,因此整個頁面無法正常加載,因爲現在CSS樣式表的調用在相關鏈接中添加了「論文/」,並且與相關鏈接中的每個圖片等相同。這可能是簡單的htaccess我猜測,但我錯過了什麼?我有我認爲的RewriteCond行或做我必須強迫非相對路徑的一切?
工作感謝!認爲這是類似的東西,但不知道解決它的正確方法,而不強迫所有東西都是絕對的網址。只知道必須有一個簡單的,單線修復的地方。 – wowohweewah