我想創建一個RewriteRule來獲取路徑名URL的每個部分。RegEx htaccess - 獲取URL路徑名的每個部分
下面是一個簡單例子:
比方說,我把這個網址:
127.0.0.1/service/param1/param2/param3/param4/param5/param6
我想通過這一個轉換此調用:
127.0.0.1/index.php?s=service & P_1 =參數1 & P_2 =參數2 & P_3 =參數3 & P_4 = param4 & p_5 = param5 & pa_6 = param6
我嘗試了很多不同的正則表達式,但成功的內部消除不幸。
這裏是一個我很多信心,但它無法
RewriteRule ^(str)[/]?(.*)[/]?(.*)[/]?(.*)[/]?(.*)[/]?(.*)[/]?(.*)$ /index.php?s=$1&p_1=$2&p_2=$3&p_3=$4&p_4=$5&p_5=$6&p_6=$7 [L,NC,QSA]
任何幫助將非常感激!
這些參數是否可選? – Sumurai8
幾乎可以確定沒有這樣的選項,但是您可以使用PHP輕鬆完成此操作。只需重寫規則一切到'index.php'文件,並在該PHP文件內進行拆分 – Dekel
您的URL中沒有'str'。 '(服務)[/]?(。*)[/]?(。*)[/]?(。*)[/]?(。*)[/]?(。*)[/]?(。 *)$'應該這樣做。 '/'也不需要在字符類中,你可能想要'/'s和值之間的值。例如'(服務)/(。+?)/(。+?)/(。+?)/(。+?)/(。+?)/(。*)$'。 – chris85