Мои правила файла .htaccess, не позволяющие выполнять все REQUEST_METHOD - PullRequest
0 голосов
/ 08 марта 2020

Я понял, что мои приведенные ниже правила .htaccess для удаления расширений PHP и HTML из URL запрещают все сообщения на сервере.

 #unless directory, removes the .php
RewriteBase /
RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]

#unless directory, removes the .html
RewriteBase /
RewriteRule ^(.+)\.html$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*?)/?$ /$1.html 

Если я удалю эти правила, мои сообщения выполнено успешно, но я не хочу использовать расширения файла.

1 Ответ

0 голосов
/ 08 марта 2020

Я обнаружил, что, если я попрошу переписать условие только тогда, когда REQUEST_METHOD не POST, оно отлично работает.

## To remove php extension unless it is directory ##
RewriteBase /
##The magic line. 
RewriteCond %{REQUEST_METHOD} !POST [NC]  
RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]
...