[英]htaccess - do not rewrite URL if POST data
我已經閱讀了很多關於htaccess的回復,但它仍然讓我感到困惑。 我的.htaccess文件中有以下規則,基本上從文件中刪除.php擴展名並解析無擴展名URL:
RewriteEngine On
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://www.example.com/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://www.example.com/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
但是,當我想聯系例如contact_form.php(處理來自HTML表單中的表單數據的處理)時,它將被重寫為contact_form,並且所有POST數據都將丟失。 我希望在請求包含發布數據時實現這一點,不應重定向/重寫URL。 我真的不知道重寫規則應該是怎樣的。 所有幫助非常感謝!
您可以將此規則作為第一條規則插入以忽略POST請求:
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.