Служить Запрещено 403 служил Не найден 404 - PullRequest
0 голосов
/ 03 октября 2018

Я хочу разрешить конкретным ips доступ к сайту apache.Для этого я использовал следующий код в apache2.conf

<Directory /var/www>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all denied
    Require ip xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
</Directory>

Я обработал ErrorDocument для 403 в .htaccess веб-сайта, как показано ниже

ErrorDocument 403 /error

Затем я использовал правило перезаписи для обработкиПриведенный выше документ об ошибке служит 404 без изменения URL-адреса в браузере.

RewriteCond %{REQUEST_URI} ^/error [NC]
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ - [R=404,L]

Я могу получить ошибку 404 Не найден на странице вместо 403 Запрещено, см. следующее изображение enter image description here

Страница показывает

Запрошенный URL / ошибка не был найден на этом сервере.

вместо этого я хочу текст как

Запрошенный URL / не найден на этом сервере.

Если это возможно, предложите способ.

Примечание: мы можем написать переписатьусловие в htaccess для достижения этого, как показано ниже, например, чтобы разрешить xxx.xxx.xxx.xxx ip, мы можем написать следующее правило перезаписи в .htaccess

RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ - [R=404,L]

Я не хочу делать это специфичным для сайта, написавэто внутри .htaccess конкретного сайта, я хочу это на apache levЕсли мы сможем написать приведенный выше код в apache2.conf и он будет работать как положено.

...