所以我的staff.php?action=[action]
文件被重寫爲/staff/[action]
,其中action
可以取3個值new/edit/delete
。Apache mod_rewrite查詢字符串
我想在提交時顯示成功或失敗消息。我試圖重定向到/staff/new&error=[error]
或/staff/new?error=[error]
。
但是,var_dump($_GET)
只返回action
的查詢字符串。
我找到的唯一解決方案是/staff?action=[action]&error=[error]
,但我不喜歡它。有什麼方法可以重寫我的規則嗎?
我不想/staff/new/error/[error]
## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
RewriteRule ^staff/(.+)$ /staff.php?action=$1 [L]
添加重寫規則,你可能缺少[QSA] ,但這只是一個猜測,因爲沒有代碼。 – Dexa
我想要很多東西,但是你不願意向我們展示你的重寫規則嗎? –