Извините, если это дубликат, возможно, я использую неправильные ключевые слова, но мне не удалось найти решение.
Мой вопрос в том, как (используя Apache;.htaccess) добиться следующих результатов:
У меня есть файл с именем show_results.php, и я хочу: Rewrite show_results.php to/results и когда кто-то пытается получить доступ к show_results.php, чтобы принести ошибку 404 (но/результаты должны работать правильно).
Я пробовал много разных способов, но не повезло - когда я переписываю, я могу получить доступ к исходной странице. Когда я пытаюсь перенаправить исходную страницу на страницу 404, на странице "переписан" отображается также 404.
Спасибо!
Этот код можно использовать в файле DOCUMENT_ROOT/.htaccess
:
RewriteEngine On
RewriteBase /
# To return 404 for any/dir/foo.php
RewriteCond %{THE_REQUEST} /.+?\.php[\s?] [NC]
RewriteRule ^ -[R=404,L]
## To internally redirect /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]