Как исключить Get из htaccess при обрезании .php
Необходимо обрезать .php в урле, но при имеющемся коде (ниже) в htacess перестают корректно работать некоторые скрипты с Get параметрами. Как туда (в код ниже) правильно дописать RewriteCond %{REQUEST_METHOD} !=GET чтобы работала и обрезка .php и post и get?
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{THE_REQUEST} \s(\S+)\.php
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]
Ответы (1 шт):
Автор решения: pgood
→ Ссылка
Явно передать GET-параметры можно из переменной %{QUERY_STRING}. И у вас там 2 правила, к какому правилу вы хотите добавить условие? Если к первому, то так:
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{REQUEST_METHOD} !=GET
RewriteCond %{THE_REQUEST} \s(\S+)\.php
RewriteRule ^ %1?%{QUERY_STRING} [R=301,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]