我目前在我的.htaccess檔案中有以下內容,它將 AZ、1-9、az 和 - 輸入重寫為 PHP 檔案:
RewriteRule ^([A-Z-a-z-0-9--] )/?$ index.php?url=$1 [L]
我需要添加 做正則運算式。我怎樣才能做到這一點?
我試過了:
RewriteRule ^([A-Z-a-z-0-9-- ] )/?$ index.php?url=$1 [L]
我還查看了幾個正則運算式備忘單,它們確實沒有用。
uj5u.com熱心網友回復:
從表面上看,您發布的正則運算式是“OK”并且應該可以作業(盡管您應該考慮反斜杠轉義字符類中的最后一個連字符,或將其移至字符類中的最后一個字符,以避免任何未來將其解釋為范圍指標的歧義)。本 可以在字符類中使用轉義的,因為它在這里沒有攜帶特殊的意義。
例如(復制/粘貼以下內容):
RewriteRule ^([A-Za-z0-9 -] )/?$ index.php?url=$1 [L]
(這已經洗掉了錯誤的字符 -見下文。)
或者,如果您也可以匹配下劃線 ( _),那么您可以使用\w(word chars) 速記字符類來簡化它:^([\w -] )/?$
但是,您有一個軟連字符 ( U 00AD) - 肉眼不可見 - 嵌入在字符類的每個范圍之間,這可能會破壞正則運算式。例如,擴展隱藏的 unicode 字符,這是您嘗試使用的實際(無效)正則運算式:
^([A-ZU 00ADa-zU 00AD0-9U 00AD- ] )/?$
uj5u.com熱心網友回復:
您是否嘗試過使用 Unicode Hex Character Code ?
\x2b
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/370209.html
