У меня есть условие перезаписи и правило, которое есть.
RewriteCond %{DOCUMENT_ROOT}$0 !-f RewriteRule ^[^*]+$ index.php [L]
Мне нужно заменить .html на .php в %{DOCUMENT_ROOT}$0 .
Причина в том, что я переписываю свой url в .html но когда этот файл проверяет наличие существующего файла, он терпит неудачу из-за %{DOCUMENT_ROOT}$0 ища файл thefile.html ,
Мне нужно, чтобы он искал thefile.php .
Чтобы переписать .html расширения в существующие .php файлы с тем же именем, попробуйте это правило вместо того, что у вас было:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)\.html$ $1.php?%{QUERY_STRING} [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*$ index.php [L]
Что вы только что перезаписали какой-либо несуществующий файл в index.php
Решено!
RewriteCond %{DOCUMENT_ROOT}$0 !-f RewriteRule ^(.*).html$ $1.php [L] RewriteCond %{DOCUMENT_ROOT}$0 !-f RewriteRule ^[^*]+$ index.php [L]
Я должен был использовать его дважды, прежде всего, переписать все .html на .php, а затем на запрос for.php второе условие вступит в игру.