2012-04-07 100 views
0

我是mod_rewrite的完全新手,我一直在經歷一些網站閱讀如何處理這個,所有我能找到的是當變量是數字而沒有關於字符串,並且事實證明已經結束我的頭。mod_rewrite名字域

我想要做的是回答改寫display.php?name=blahblah123display/blahblah123

在一起,我會喜歡一些網站,我可以建立一些掌握了mod_rewrite自己。

感謝

編輯:

隨着越來越多的搜索,我想出了這個

RewriteEngine On 
RewriteBase/

RewriteRule ^display/([a-z]+)$ display.php?name=$1 [L] 

上述工程的代碼,但由於某些原因,我得到的頁面沒有CSS。包括我看到的CSS顯示Hostgator的404頁面CSS。但是HTML看起來很好,內容和其他一切都很好。任何想法?

回答

1

只要是明確的,mod_rewrite的是什麼,在Apache的內部發生。我發現有時候人們不明白它做了什麼,也沒有做什麼。它不會採取一個網址,你輸出,並將其從

display.php?name=blahblah123 

改變 顯示/ blahblah123

這將然而,讓別人從你的網站顯示/ blahblah123發出請求,轉換至display.php?name = blahblah123,以便您的display.php腳本可以對其進行操作。

重寫規則需要理解正則表達式。你越瞭解正則表達式越容易mod_rewrite將爲你。

作爲一個初學者這篇文章應該有所幫助:http://www.sitepoint.com/guide-url-rewriting/

爲了您的具體問題,我可能會使用:

RewriteRule ^display/([a-zA-Z0-9]+)$ /display.php?name=$1 
1

試着把一個「/」放在css文件名的前面。

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

代替

<link rel=".." href="style.css".