.htaccess - 如何使用 mod_rewrite 将对 example.com 的请求重定向到 www.example.com?

标签 .htaccess mod-rewrite

这是由 wordpress 生成的 .htaccess 文件,位于我的根目录中。

我需要修改/添加它,以将所有传入流量定向到 www.example.com,而不是 example.com

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

如果有人想解释以上所有内容的作用,我们也将不胜感激。

最佳答案

为了执行您所要求的操作,您需要添加:

RewriteCond %{HTTP_HOST} ^www.mysite.com$ [NC] 
RewriteRule ^(.*)$ http://mysite.com/$1 [R=301,L]

您可以将其放在 <IfModule mod_rewrite.c> 之间RewriteBase 之后的括号

至于 WordPress 的 htaccess 代码的作用(没有测试):它似乎测试任何到文件和目录的直接链接,而不是通过 RewriteRule 传递它们,RewriteRule 通常会获取您的链接并将其发送到索引。 php

因此,如果您的链接指向 www.mysite.com/some/page,它会确保/some/page 不是直接文件链接或实际的 Web 目录,如果不是,则会传递请求到index.php,它解析它以显示正确的Wordpress页面。

关于.htaccess - 如何使用 mod_rewrite 将对 example.com 的请求重定向到 www.example.com?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1663481/

相关文章:

regex - 用于获取请求的文件大小的 .htaccess 规则

regex - 正则表达式条件否定的.htaccess中的RewriteCond无法正常工作?

php - 区域子域

php - 设置 .htaccess 文件 Apache

.htaccess - 使用 rewrite_mod 将 index.php 重定向到 root,将 www 重定向到非 www

.htaccess - 使用.htaccess重写.php文件扩展名

php - mod_rewrite 无法识别文件

php - 密码保护链接列表*和*密码保护文件访问

php - Opencart 重定向到 www.localhost.com

wordpress - HTTP header 在非 www URL 上返回 404?