簡體   English   中英

HTACCESS remove.php 擴展,除了某些 url

[英]HTACCESS remove .php extension except for certain url

因此,我的服務器上有以下.htaccess文件,它從所有文件中刪除了 .php 擴展名,強制 https 並刪除 www.:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]

# remove www and turn on https in same rule
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]

問題是我有一個上傳表單供用戶上傳圖像,所以當他們上傳圖像時,因為文件從 /upload.php 重定向到 /upload 它然后因為重定向而變成 GET 請求。

有什么辦法可以阻止這個文件刪除 .php 擴展名?

只需添加一個額外的條件:

RewriteCond %{REQUEST_URI} !/upload\.php$

這種情況將阻止您的規則應用於您的 upload.php 文件。

暫無
暫無

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

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