我需要为每种语言重定向所有未找到的页面。我已为第三级域名 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]