Назад | Перейти на главную страницу

Apache config: Return 404 for single <location></location>

Возможно ли, чтобы Apache автоматически возвращал страницу 404 для одного URL с помощью тега Location?

<Location "/some/url">
    # ???
</Location>

Решения без mod_rewrite или любых других предпочтительных модулей.

Единственное решение «без каких-либо модулей» - это не иметь ресурса. Если местоположение не существует, то Apache вернет 404.

В противном случае вам нужно будет использовать mod_alias или mod_rewrite. mod_alias - более простое и эффективное решение:

Redirect 404 /your/url/path

Вы используете его внутри своего виртуального хоста, нет необходимости помещать его в блок Location.

Вы также можете использовать RedirectMatch директива, если вы не хотите сопоставлять URL-адреса ниже /your/url/path:

RedirectMatch 404 ^/your/url/path$

Об этом и многом другом можно прочитать в документация по mod_alias

По-видимому, вы можете использовать RewriteRule для этого (убедитесь, что ваш RewriteEngine включен):

RewriteRule ^/forbidden_ /nonexistent [L]

Получил эту информацию от "вернуть 404 для определенного URL?"в архивах списков рассылки Apache.