簡體   English   中英

添加-代替URL重寫中的空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM