apache rewrite教學 .htaccess將查詢字符串重寫為路徑



rewriterule nc qsa (1)

我已經搜索了這個問題,但我只能遇到真正具體的答案,似乎很難適應我的具體需求。

比方說,我試圖重寫的URL是這樣的:

http://www.example.org/test.php?whatever=something

我想重寫它,看起來像這樣:

http://www.example.org/test/something

我怎樣才能做到這一點?


為了將/test/something的請求路由到內部重寫,以便/test.php?whatever=something中的內容得到處理,您可以在文檔根目錄的htaccess文件中使用這些規則:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?test/(.*?)/?$ /test.php?whatever=$1 [L]

為了將查詢字符串URL重定向到更好看的一個:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /test\.php\?whatever=([^\&\ ]+)
RewriteRule ^/?test\.php$ /test/%1? [L,R=301]




mod-rewrite