mod_rewrite重定向到HTTPS重定向其他规则

时间:2014-04-11 15:51:56

标签: apache .htaccess mod-rewrite redirect

我有一个像这样的htaccess文件

RewriteEngine On
RewriteRule     ^search/([^/]*)$ /search.php?query=$1 [L]

RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

如果我访问http://example.com/search/abc123,则会重定向到https://example.com/search.php?query=abc123

HTTPS重定向的工作方式与我想的一样,但我不喜欢它如何重定向到search.php?query=而不是search/

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

更改规则的顺序:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteRule ^search/([^/]*)$ /search.php?query=$1 [L]