2014-02-26 68 views
0

我在我的域上創建了我自己的博客,並且顯示了我正在使用動態URL顯示文章內容的文章。mod_rewrite動態URL的問題

一個例子,現在的樣子: http://www.blog.madetocreate.nl/artikel.php?id=47

現在我搜索過了幾天mod_rewrite的方法,但一切我嘗試失敗。服務提供商告訴我mod_rewrite已啓用,我只需要使用.htaccess文件訪問它。

的文件我已經在這一刻包含以下代碼:

RewriteEngine on 
RewriteRule ^artikel/([^/]+)/?$ artikel.php?id=$1 [L] 

我想要得到的URL看起來像這樣:

http://www.blog.madetocreate.nl/artikel/47/title-of-the-post-here/

但到目前爲止,我不能甚至設法得到第一個"artikel/47/"

任何想法我做錯了什麼?

謝謝!

回答

0

正則表達式應該如下所示:

^artikel/([0-9]+)/([\w-]*)$ 

它給你:

RewriteEngine on 
RewriteRule ^artikel/([0-9]+)/([\w-]*)$ artikel.php?id=$1 [L] 

([0-9]+)匹配1個或多個數字

([\w-]*)匹配0個或多個單詞字符和-,這意味着你可以同時擁有artikel/47/artikel/47/title-of-the-post-here

+0

嗯,重點是我剛剛上傳了這個新的代碼,當我打開blog.madetocreate.nl/artikel.php?id=47時,url並沒有變成artikel/47/titel-of-後/。我不是完全理解mod_rewrite嗎? – TheCodeMagician

+0

RewriteRule不會重定向你,它只是告訴Apache將地址'artikel/47/titel-of-post'解釋爲'artikel.php?id = 47'。你應該看看這篇文章解釋這兩個概念之間的區別:http://stackoverflow.com/questions/11709634/convert-original-url-to-friendly-url/11711948#11711948 – evuez