簡體   English   中英

Apache mod_rewrite path to query string for specific path format

[英]Apache mod_rewrite path to query string for specific path format

我已經為此工作了好幾個星期。 我希望能夠使用友好的 URL 將變量傳遞給 PHP 腳本。 例如,如果有人使用這個 URL:

https://example.com/foo/bar/who

我希望我的 PHP 腳本能收到這個:

https://example.com/index.php/?var1=foo&var2=bar&var3=who

問題是我只想在路徑中有三個變量時進行重寫。 如果少於或多於三個,我不想重寫 URL。

我已經看到與這種類型的重寫相關的其他幾種解釋,但沒有像這樣的。

這幾乎可以工作,但並不完全。 如果前三個變量存在某些東西,我只希望完成重寫。 我知道這是不完整的,但使用這種方法,至少 REQUEST_URI 包含我可以解析的值。 但同樣,我只想在路徑中有三個變量時這樣做。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^index\.php/([^/]*)/([^/]*)/([^/]*)$ index.php [L]

謝謝你。

你已經很接近了,就這樣吧。 請確保在測試 URL 之前清除瀏覽器緩存。 您已經創建了僅需要使用它們的反向引用,我現在已經添加了這些。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ index.php?var1=$1&var2=$2&var3=$3 [L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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