Htaccess, перепиши и покажи 404

1

Извините, если это дубликат, возможно, я использую неправильные ключевые слова, но мне не удалось найти решение.

Мой вопрос в том, как (используя Apache;.htaccess) добиться следующих результатов:

У меня есть файл с именем show_results.php, и я хочу: Rewrite show_results.php to/results и когда кто-то пытается получить доступ к show_results.php, чтобы принести ошибку 404 (но/результаты должны работать правильно).

Я пробовал много разных способов, но не повезло - когда я переписываю, я могу получить доступ к исходной странице. Когда я пытаюсь перенаправить исходную страницу на страницу 404, на странице "переписан" отображается также 404.

Спасибо!

Теги:
.htaccess
mod-rewrite
url-rewriting

1 ответ

0
Лучший ответ

Этот код можно использовать в файле 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]
  • 0
    Извините за задержку с ответом. Я хочу перенаправить исходную страницу на собственную ошибку 404? Это возможно?
  • 0
    Сожалею. Я объясню лучше. Это именно то, что я хочу, чтобы именно это произошло - когда я получаю доступ к / results, чтобы открыть show_results.php, когда я получаю прямой доступ к show_results.php, чтобы вызвать ошибку 404 (это нужно сделать с помощью чистого htacess). Спасибо!!
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню