带 301 重定向的通配符虚拟主机子域名

带 301 重定向的通配符虚拟主机子域名

目前,我创建了一个 .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 可能就足够了。

相关内容