![如何在多语言 html 网站中重定向我的整个网站](https://linux22.com/image/793435/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%A4%9A%E8%AF%AD%E8%A8%80%20html%20%E7%BD%91%E7%AB%99%E4%B8%AD%E9%87%8D%E5%AE%9A%E5%90%91%E6%88%91%E7%9A%84%E6%95%B4%E4%B8%AA%E7%BD%91%E7%AB%99.png)
我有一个多语言网站,阿拉伯语和英语,我的英语页面在rood目录中,阿拉伯语页面在文件夹名称ar中;但我得到了我的审计报告;搜索引擎看到
www.arianamedicaretour.com/ar/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9-.html
和arianamedicaretour.com/ar/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9-.html
就像两个内容相同的不同网站。这导致他们看到很多重复的内容,这是他们不喜欢的。
我创建了一个重定向代码,.htaccess
只有英文页面才会重定向,但重定向代码并未反映到我的子目录中。
Redirecting code:
RewriteEngine On
# Redirect non-www to www with HTTPS for the entire site
RewriteCond %{HTTP_HOST} ^arianamedicaretour\.com$ [NC]
RewriteRule ^ https://www.arianamedicaretour.com%{REQUEST_URI} [L,R=301,NE]
# Ensure all requests are served over HTTPS
# This rule checks if HTTPS is not on, and it will redirect all requests to HTTPS without specifying the domain again
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
你能检查一下这段代码有什么问题以及为什么没有反映在子目录中吗?
答案1
一般来说 SEO 问题更多是关于https://webmasters.stackexchange.com/
指令的行为可能会被父目录和/或子目录中的.htaccess
其他文件修改 ,从而导致性能下降。.htaccess
.htaccess 指令看起来不错,但一般来说.htaccess
仅当您无权访问主 Apache 配置文件时才使用文件和 VirtualHost 定义。
尤其您所拥有的简单用例,即简单的重定向到 HTTPS,应该使用Redirect
指令来完成:
<VirtualHost *:80>
ServerName www.arianamedicaretour.com
ServerAlias arianamedicaretour.com
Redirect permanent "/" "https://www.arianamedicaretour.com/"
</VirtualHost >
<VirtualHost *:443>
ServerName arianamedicaretour.com
## TLS settings and such
Redirect permanent "/" "https://www.arianamedicaretour.com/"
</VirtualHost >
<VirtualHost *:443>
ServerName www.arianamedicaretour.com
## TLS settings and such
## DocumentRoot and other directives that relate to the content of the site
</VirtualHost >