我嘗試寫一個腳本,可以改寫蛞蝓方式的URL像這樣:如何生成PHP蛞蝓
http://www.mysite.com/mystorytitle/
,我在我的代碼這樣做:
RewriteRule ^(.*)\/$ app=News&file=article&title=$1 [L]
,並在我的PHP代碼,我創建了一個塞了故事的標題爲:
$slug_title = mysql_real_escape_string($mtitle);
$show= "<a href=\"$slug_title/\">$mtitle</a>";
現在一切都很好,除非我點擊slugged鏈接,它會進入頁面,但沒有任何樣式和JavaScript和圖像。
IM肯定,問題是,因爲CSS文件的路徑和...這是被改變的程度
,因爲我在這條道路: http://www.mysite.com/ایمیل/
所以如果頁面需要的CSS文件爲這樣:
<link rel="StyleSheet" href="includes/NAV.css" type="text/css" />
一個水平變化,要做到這一點的工作,我應該回來的水平爲:
<link rel="StyleSheet" href="../includes/NAV.css" type="text/css" />
我想,這是concidered爲文件夾不是rewrited路徑
但是我相信應該有另一種方式來使這個腳本工作在不改變所有的路徑提前
感謝
順便說一句,'mysql_real_escape_string'是把文本轉換成HTML錯誤的逃生。它僅適用於MySQL查詢,並且不會保護您免受HTML注入(XSS)的侵害。您應該使用'htmlspecialchars'代替'$ mtitle'。理想情況下,您還應該爲'$ slugtitle'使用'urlencode',以便它可以作爲普通的舊URI以及IRI。 – bobince 2010-02-26 10:59:46
在什麼基礎上告訴urlencode遠遠好於mysql_real_escape_string,順便說一句,當使用urlencode時,它會爲標題 – 2010-02-26 11:25:44