.htaccess RewriteRule redirectinf/foo, но не/foofake

Когда я использую следующее объявление правила:

RewriteRule ^foo foo.php

когда я посещаю localhost/foo , он успешно отображает foo.php , но когда я посещаю localhost/foofake или localhost/fooanythingelse code>, он по-прежнему отображает foo.php. Как предотвратить это и отобразить страницу ошибки 404?

PS: Я знаю этот вопрос Но что я пытаясь сделать здесь, это другое.

0
nl ja de

1 ответы

Вам нужно сообщить серверу только перенаправить URL-адрес, который не имеет текста, следующего за «foo», добавив знак «конец строки» ( $ ).

RewriteRule ^foo$ foo.php

Чтобы заставить его работать и для косой черты, добавьте еще одну строку:

RewriteRule ^foo/$ foo.php
1
добавлено
это работает, но конечная косая черта ( foo/) приводит к ошибке. есть ли обходной путь для этого?
добавлено автор Peeyush Kushwaha, источник
Я добавляю эту информацию.
добавлено автор Jenny D, источник