【问题标题】:Single rewrite rule for http to https redirection and trailing slash removalhttp 到 https 重定向和尾部斜杠删除的单一重写规则
【发布时间】:2015-09-25 00:10:05
【问题描述】:

我想为 http 到 https 进行单个 301 重定向过程,并删除尾部斜杠。

http到https的重定向方式是

RewriteCond %{SERVER_PORT} ^80$
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

删除尾随斜线的方法是

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]

我希望这两个步骤在一个步骤中完成,可以吗?

【问题讨论】:

  • 你有没有尝试过?
  • 是的,我知道如何将这些过程分为两个步骤。但我想一步到位。我只是尝试通过更改许多重写规则和条件。但没有运气

标签: apache mod-rewrite url-rewriting url-redirection


【解决方案1】:

尝试以下规则是否有效:

RewriteEngine On
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST}%{REQUEST_URI} ^(https?://)([^/]+)(/.*)/?$
RewriteRule ^ %1%2%3 [R=301,L]

【讨论】:

  • 嗨,不,该规则既不适用于 http 到 https,也不适用于删除尾部斜杠,但感谢您的想法。
猜你喜欢
  • 2017-10-10
  • 2014-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 2012-07-01
  • 2019-03-28
  • 1970-01-01
相关资源
最近更新 更多