apache - 域重定向 Apache htaccess
问题描述
我在域 mysite.com(多语言站点)上的 wordpress 中创建了主站点。
默认情况下,mysite.com 以本地语言而不是英语打开。我已注册要重定向到 mysite.com 的本地域。
mysite.local -> mysite.com(这很好)
但我想为国际用户将 mysite.com 重定向到 mysite.com/en。如果他们在浏览器中键入地址 mysite.com 或从谷歌打开,我希望用户被重定向到页面的 /en 版本。
是否可以使用 apache .htaccess 来实现这一点,因为我只与 htaccess 共享主机?
解决方案
您可以通过以下 .htaccess 规则来实现这一点 -
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/en/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /en/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ en/index.html [L]
推荐阅读
- java - AnnotationConfigApplicationContext:加载多个 bean 时的性能问题
- antlr - ANTLR3 词法分析器中的 UTF-32 代码点(代理对)?
- reactjs - 通过在componentDidMount中不可用的反应路由器传递道具?
- bash - Bash:即使在用户注销后如何让进程继续运行
- javascript - webpack 找不到 Json 文件
- ruby-on-rails-5 - 与 has_many 一起使用时,accepts_nested_attributes_for 仅显示一条记录
- apache-spark - 将数据框与列名之间包含“-”的列连接时出现问题
- java - Spring Boot 我的 jar 文件在哪里
- html - div标签内的HTML div标签,它的目的是什么?
- elixir - 更新深层嵌套映射中的单个值