目前,我创建了一个 .htaccess 文件,将不存在的子域重定向到根 URL。例如
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.co.uk
ServerAlias www.example.co.uk
DocumentRoot /var/www/example/public
ErrorLog /var/log/apache2/example.co.uk-error.log
LogLevel warn
CustomLog /var/log/apache2/example.co.uk-access.log combined
</VirtualHost>
# Redirect for non existent subdomains
<VirtualHost *:80>
ServerAdmin [email protected]
ServerAlias *.example.co.uk
DocumentRoot /var/www/example/redirect
</VirtualHost>
/var/www/示例/redirect/.htaccess
Redirect 301 / http://www.example.co.uk
有没有办法在 Apache 中完成所有这些操作?我希望通过使用 301 代码进行重定向来告诉他们子域不存在,从而使其对搜索引擎友好。
答案1
这重定向指令描述如下,
描述:发送外部重定向,要求客户端获取不同的 URL
语法:Redirect [状态] URL-路径 URL
上下文:服务器配置,虚拟主机、目录、.htaccess
覆盖:FileInfo
状态:基本模块:mod_alias
粗体强调是我的。您应该能够将重定向放入 VirtualHost 部分,而无需 .htaccess。
如果您想说该域不存在,您应该返回 410(消失),尽管我不确定您的意图。 302 可能就足够了。