【问题标题】:Htaccess only home page https://a.com to https://www.a.com redirectHtaccess 仅主页 https://a.com 到 https://www.a.com 重定向
【发布时间】:2017-11-01 09:45:10
【问题描述】:

我的 htaccess (codeigniter)

<IfModule mod_rewrite.c>

RewriteEngine On       

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,NC,L]

RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)$ /index.php/$1 [L]

</IfModule>

如果访问者打开主页https://example.com需要重定向 -> https://www.example.com

但我已经为我的链接重定向。我需要一起做当前的代码。

我该怎么办?

编辑 1:

这就是我想要的:

https://example.com -> https://www.example.com , https://example.com/somepage -> https://example.com/somepage(无 更改),https://www.example.com/otherpage.html -> https://example.com/otherpage.html(不使用 www 重定向)

只有主页会使用 www。标记

所有其他页面不使用 www。

【问题讨论】:

  • 什么,您已经从https://www.example.com/somepage 重定向到https://example.com/somepage,但只针对您希望反过来的主页?为什么,这样做的目的是什么?
  • 是的。因为谷歌我买了一个域,但是这个域在我之前得到了 dmca 到主页。我只需要重定向主页以再次出现谷歌搜索。
  • “但是这个域让 dmca 在我之前进入主页” - 不知道沙拉这个词应该是什么意思。但是如果您只需要重定向主页,则相应地设置 RewriteRule 的模式,使其匹配 empty 路径 - ^$
  • 这是我想要的:example.com -> example.com example.com/somepage -> example.com/somepage(无变化)example.com/otherpage.html -> example.com/otherpage.html(无变化)只有主页会使用万维网。标记所有其他页面不使用 www.

标签: php apache .htaccess codeigniter redirect


【解决方案1】:

试试这个

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

【讨论】:

  • 它不起作用。我更新了我的问题。你能再看一遍吗?
  • 我试图实现你所说的。但是由于 apache 在重写方面提供了有限的选择,因此无法使其正常工作。这种情况在所有尝试中总是陷入循环
【解决方案2】:

您应该使用RedirectMatch 来实现您的目标。

试试这个:

RedirectMatch 301 https://example.com https://www.example.com

【讨论】:

    猜你喜欢
    • 2012-10-20
    • 1970-01-01
    • 2022-01-11
    • 2012-11-07
    • 1970-01-01
    • 2019-06-07
    • 2015-12-23
    • 2018-06-02
    • 2017-07-04
    相关资源
    最近更新 更多