Перезапись URL с помощью .htaccess и 404 оригинального пути - PullRequest
0 голосов
/ 07 июня 2018

У меня есть файл test.php, который нужно переписать в test.json

В .htaccess я установил RewriteRule ^test.json$ /test.php

Перезапись работает правильно, но если я открою старый URL, протестируйте.php, я все еще могу получить доступ.Для оригинального URL я бы ошибка 404.

1 Ответ

0 голосов
/ 07 июня 2018

То, что вы хотите, это добавить дополнительное правило для обработки test.php.Вот пример того, что вы можете получить:

В файле .htaccess в каталоге, в котором вы хотите «сервер» вашего test.json:

RewriteEngine on
RewriteRule ^test.json$ /test.php [L,END]

В файле .htaccess вweb root:

RewriteEngine on
RewriteRule ^test.php$ - [L,R=404]

В качестве альтернативы, если вы хотите, чтобы все они находились в одном каталоге, он мог бы находиться там в одном файле .htaccess:

RewriteEngine on
RewriteRule ^test.json$ /test.php [L,END]
RewriteRule ^test.php$ - [L,R=404]

Обратите внимание, что флаг ENDтребуется, чтобы apache не выполнял другой цикл и не переписывал test.php с ошибкой 404.

...