![将三级域名的所有未找到的链接重定向到每种语言的站点索引](https://linux22.com/image/752538/%E5%B0%86%E4%B8%89%E7%BA%A7%E5%9F%9F%E5%90%8D%E7%9A%84%E6%89%80%E6%9C%89%E6%9C%AA%E6%89%BE%E5%88%B0%E7%9A%84%E9%93%BE%E6%8E%A5%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E6%AF%8F%E7%A7%8D%E8%AF%AD%E8%A8%80%E7%9A%84%E7%AB%99%E7%82%B9%E7%B4%A2%E5%BC%95.png)
我需要为每种语言重定向所有未找到的页面。我已为第三级域名 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]