Перезапись URL с помощью .htaccess и 404 оригинального пути

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

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

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

0

Решение

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

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

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

В файле .htaccess в корне сети:

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.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]