【问题标题】:Conflicting multiple redirect rules in htaccesshtaccess中的多个重定向规则冲突
【发布时间】:2016-03-21 18:47:10
【问题描述】:

我想将站点 ip 重定向到我的站点 https 以及我想将非 www url 重定向到 www url。我已经写了这两个规则,但它们是相互冲突的。这是我的 cade:

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

#Redirect ip to site
RewriteCond %{HTTP_HOST} ^xx\.xx\.xxx\.xxx$
RewriteRule ^(.*)$ https://www.domain.pk/$1 [L,R=301]

#Redirect non-www to www
RewriteCond %{HTTPS_HOST} !^www\.
RewriteRule ^(.*)$ https://www.domain.pk/$1 [R=301,L]

</IfModule>

# END WordPress

【问题讨论】:

  • @Damien,个别案例工作正常,但两者一起,不起作用
  • 您的问题到底是什么?你得到一个重定向循环还是什么?
  • 为什么不把 www 规则放在前面,在后面加一个 [NC]?
  • @Damien,我也试过了。但是当我打开 ip 时,它会重定向到“domain.pk/https:/www.domain.pk

标签: php wordpress .htaccess


【解决方案1】:

你用这个配置试过了吗?

RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^xx\.xx\.xxx\.xxx$ [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.domain.pk/$1 [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-09
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多