簡體   English   中英

htaccess - 如果POST數據,不要重寫URL

[英]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.

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