Apache 如何通过语言功能将HttAccess重定向与www到非www和http到https合并?浏览器返回:错误\u太多\u重定向

Apache 如何通过语言功能将HttAccess重定向与www到非www和http到https合并?浏览器返回:错误\u太多\u重定向,apache,.htaccess,redirect,https,no-www,Apache,.htaccess,Redirect,Https,No Www,我必须满足这3个条件,因为我的网站同时使用英语和西班牙语,取决于浏览器,它必须重定向到西班牙语或保持英语,我需要确保我的所有访问者都能访问它,无论他们通过www或非www访问,并且在ES或EN场景中必须始终指向https RewriteBase / RewriteCond %{HTTP_HOST} !^www\. [OR] RewriteCond %{HTTP:Accept-Language} ^es [NC] RewriteRule ^$ https://mywebsite/es/ [L,R=

我必须满足这3个条件,因为我的网站同时使用英语和西班牙语,取决于浏览器,它必须重定向到西班牙语或保持英语,我需要确保我的所有访问者都能访问它,无论他们通过www或非www访问,并且在ES或EN场景中必须始终指向https

RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ https://mywebsite/es/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(en|es)/?$ index.html?lang=$1 [QSA,NC,L]

免责声明:我的演讲没有直接回答你的问题

正如前面的评论所提到的,语言重定向是次优实践。谷歌推荐的最佳方式是:

步骤1:第一次访问guess时,基于IP和浏览器语言的用户语言, 步骤2绝对必要的步骤:在弹出窗口中向用户显示您的猜测,并请求他确认您的猜测或设置正确的语言, 步骤3:用户操作后,使用语言选择设置cookie,并在进一步访问时根据htis cookie重定向他。
Googlebot没有cookie-它应该只基于hreflang链接抓取不同的语言版本。

请说明您试图从/重定向到的URL。您当前在.htaccess文件中没有要合并的http到https重定向?但是没有必要合并它们事实上,您不应该合并语言重定向-只是将它们作为单独的规则。但是语言重定向通常对用户/SEO不好。谢谢你的回答,所以最好的做法应该是让用户手动设置他们的propper语言?是的,猜猜他们喜欢的语言可能是什么。不要强迫它-因为它可能是错误的。感谢suggstión的建议,我会尝试并更新我的问题。最后,我会按照你的建议,通过htaccess删除重定向,并使用cokkies改进SEO,效果很好。