【问题标题】:use htaccess to remove www from root and subdirectories使用 htaccess 从根目录和子目录中删除 www
【发布时间】:2014-02-02 20:23:09
【问题描述】:

我的 htaccess 有问题。我正在尝试删除 www。从我的根目录和子目录。但是,我尝试过的每个示例都重定向到 root。

IE www.example.com -> example.com 但是 www.example.com/blog -> example.com

我需要删除 www。从所有目录和子目录,并保持原来的路径。

IE www.example.com -> example.com AND www.example.com/blog -> example.com/blog

我用过以下

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

和

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

它不工作。任何帮助将不胜感激。

(编辑-在询问我是否有上面的代码后)

我用过这个,它工作正常

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

我不知道 drupal 改变了 .htaccess 的工作方式。我很抱歉没有包括我在最初的问题中使用这个 CMS

【问题讨论】:

  • 应该像你一样工作。在此之前您还有其他规则吗?
  • @JustinIurman 实际上是的..
  • 我使用了这个并且它工作正常 RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301] 我不知道 drupal 改变了 .htaccess 的工作方式。我很抱歉没有包括我在我的问题中使用这个 CMS。希望这将有助于将来的某人。有人可以将代码链接为答案,以便我可以选中该框。
  • @user3263759 您可以创建自己的答案并在几天内接受。

标签: .htaccess mod-rewrite


【解决方案1】:

你试过了吗?

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

【讨论】:

    猜你喜欢
    • 2011-09-24
    • 1970-01-01
    • 2012-06-25
    • 2021-06-24
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    相关资源
    最近更新 更多