1

我在我的域名注册商上设置了通配符 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 页面而不是主页?

4

1 回答 1

2

尝试将您的重写规则更改为此;它应该触发 Apache 404 错误页面:

RewriteRule .* - [R=404,L]

可以使用ErrorDocument指令将错误页面设置为自定义 HTML 或 PHP 页面。虽然 HTML 页面运行良好,但 PHP 脚本允许您做更多的事情。

您可能可以在通配符域上创建一个漂亮的页面,然后这样做:RewriteRule .* /domain-doesnt-exist.php [L]我上面提到的页面可以发送一个 404 标头,以防您希望搜索引擎忽略该页面。

于 2012-09-09T16:40:33.930 回答