Я обращался к различным сайтам и даже ко многим вопросам о stackoverflow, но я не могу найти для этого никакого решения. У меня есть файл .htaccess в каталоге /var/www/html/mail/. У меня также есть файл с именем sample.php. Я хочу, чтобы расширения были удалены. Но мое правило перезаписи в файле .htaccess не работает. Это также не дает никаких ошибок. Но с уверенностью могу сказать, что файл выполняется. Я пробовал вставить в него какой-то случайный текст. Он вернул внутреннюю ошибку сервера. Я не уверен, в чем именно заключается ошибка. Еще я поменял AllowOverride в apache2.conf на все. Мой код .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Я следую этому руководству https://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/
Приемлема любая помощь. заранее спасибо
Да, когда я запускаю sudo a2enmod rewrite, возвращается уже включенное
Не знаю почему. Думаю, ни одно из правил перезаписи не работает
Вы перезапускали apache? Если это не сработает, возможно, это человеческая ошибка. Проверьте, не совершали ли вы других ошибок при его реализации. Если вы все еще застряли, подождите, пока вам помогут другие люди.
Да, я перезапустил сервер Apache, но он не работает. Спасибо за помощь
Что вы имеете в виду под словом «не работает»? Какая ошибка возникает при вводе example.com/mail/file?
Спасибо за ответ. Я получаю сообщение об ошибке 404 "Не найден". Но если я перейду по ссылке /example.com/mail/file.php, я получу правильный файл.






Вы включали mod_rewrite? Запустите
sudo a2enmod rewrite, а затем перезапустите Apachesudo service apache2 restart.