将三级域名的所有未找到的链接重定向到每种语言的站点索引

将三级域名的所有未找到的链接重定向到每种语言的站点索引

我需要为每种语言重定向所有未找到的页面。我已为第三级域名 en.mysite.it 创建了重定向到 www.mysite.it/en/。现在我需要了解如何将每个未找到的 en.mysite.it/page.html 页面重定向到 www.mysite.it/en/。这是我在 htaccess 中使用的代码:

RewriteCond %{HTTP_HOST} ^en\.mysite\.it$ [OR]
RewriteCond %{HTTP_HOST} ^www\.en\.mysite\.it$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.mysite\.it\/en\/" [R=301,L]

我对每种语言都有多个重定向,因此我只需要重定向来自子域“en”的页面并为每种语言重复代码。

答案1

解决方案成立...只需用^/?$ 那个 替换这个^(.*)

结果:

RewriteCond %{HTTP_HOST} ^en\.mysite\.it$ [OR]
RewriteCond %{HTTP_HOST} ^www\.en\.mysite\.it$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule `^(.*)` "https\:\/\/www\.mysite\.it\/en\/" [R=301,L]

相关内容