Я устанавливаю подстановочную запись A на моем регистраторе домена. Теперь, если пользователь получает доступ к отсутствующему поддомену в моем домене, он будет перенаправлен на домашнюю страницу. В настоящее время моя первоначальная установка была такой:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
RewriteEngine On
RewriteRule ^(.*)$ http://domain.com$1 [R]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# more below...
</VirtualHost>
Любой поддомен с подстановочными знаками или если мой IP-адрес вводится через URL-адрес, будет перенаправлять на домашнюю страницу. Могу ли я сделать что-нибудь, что перенаправит (возможно, HTTP-перенаправление) поддомены с подстановочными знаками на страницу 404, а не на домашнюю страницу?
Вы также можете рассмотреть вариант переписывания кода состояния 403 с помощью кода [F] и наличия страницы ошибки 403, если «действительный постоянный код ошибки» является причиной, по которой вам нужен код 404, а не совсем этот код.
DocumentRoot /some/valid/directory
ErrorDocument 403 /nothere.html
RewriteRule /nothere.html /nothere.html [L]
RewriteRule . - [F,L]
Изменение правила для страницы 403 позволяет избежать ошибки конфигурации.
Отключите RewriteEngine и укажите пустой каталог в качестве DocumentRoot:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/empty-directory-that-i-just-created
# more below...
</VirtualHost>
Поскольку этот VirtualHost использует пустой каталог в качестве DocumentRoot, Apache не сможет выполнять какие-либо запросы; он вернет 404 для всех из них.