[英]Add - instead of white spaces in url rewriting
我有這個網址:
http://www.site.com/en/about.php?id=112&name=andrew marshall dickens
我想這樣重寫它:
http://www.site.com/112/andrew-marshall-dickens.html
至今:
RewriteRule ^([^/]*)/([^/]*)\.html$ /en/about.php?id=$1&name=$2 [L]
我在使用'-'字符時遇到麻煩。有什么建議嗎? 謝謝!
好吧,您正在嘗試使用正則表達式從字符串中間刪除字符,而在RewriteRule中間可能包含任意數量的該字符。 一方面,這實際上是不可能的,另一方面,您要傳遞ID,因此我假設您可以在PHP腳本中使用ID獲得名稱,因此實際上並不需要從URL解析名稱。變量,作為第三個選項,如果要使用name變量,為什么不直接在輸出字符串之前先str_replace PHP和ucwords()中的-字符串呢?
我相信您不需要傳遞名稱參數,因為id可以實現。
無論如何:
RewriteRule ^([0-9]+)/([a-z-]+)\.html$ /en/about.php?id=$1&name=$2 [L]
但是,嘿,閱讀評論后,我才意識到:您有什么問題? 您的正則表達式應該已經可以工作了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.