2013-02-15 30 views
0

頁面是我在規則中寫道:無法路由的,我在這裏寫的路線有問題重寫規則

RewriteRule ^forums/139638-ideas/suggestions/([0-9]+)-([A-Za-z0-9-])?$ suggestion.php?id=$1 [NC,L] 

它應該呈現路線的例子是:

forums/139638-ideas/suggestions/2489549-ability-to-print 

2489549是我發送的ID和-是分隔符,然後ability-to-print是該頁面的標題,但我無法路由到該頁面是否有我的正則表達式中有什麼問題,或者我是否以錯誤的方式編寫規則。對不起我的英語,以及我對路線寫作的新感覺,所以如果您認爲這是一個新手問題,那麼也很抱歉。

回答

1

您已經忽略了第二段的+,表示可以匹配多個字符。這與您爲第一部分所做的相同。

所以,你的規則應該是這樣的:

RewriteRule ^forums/139638-ideas/suggestions/([0-9]+)-([A-Za-z0-9\-]+)?$ suggestion.php?id=$1 [NC,L] 

請注意,在第二段的附加+

+0

感謝隊友現在的工作,但我現在有另一個問題,我有2獲取參數我想發送,但我無法獲得第二個參數在這裏是我寫的規則: 'RewriteRule^knowledgebase/topics /( [0-9] +) - (([A-Za-z0-9 - ] +))\?page =([0-9] +)?$ topic.php?id = $ 1&page = $ 4 [NC, L]' 的expexted網址是 '知識庫/主題/ 6457,微軟辦公應用程序的信息?頁= 2' 這裏'6457'是第一次拿到那就是'id'然後名號'?page ='然後第二個獲取參數'2' 但無法獲得該頁面變量 – Seeker 2013-02-15 16:10:16

+1

你應該把這個問題放在一個新的問題因爲它可以幫助其他人解決同樣的問題。但無論如何,試試這個:'RewriteCond%{QUERY_STRING} ^(。*)$'Next line:'RewriteRule^knowledgebase/topics /([0-9] +) - ([a-zA-Z] +)$ topic .PHP?ID = $ 1%1'。它基本上將查詢字符串傳遞到實際的路由上,因爲重寫規則不能接收它們。看到這篇文章的更多信息:http://zenverse.net/capture-query-string-get-data-in-htaccess-rewrite/ – 2013-02-15 19:25:09

+0

謝謝你的伴侶,你把其他問題的答案是類似的:) – Seeker 2013-02-18 06:55:21