Hor*_*Kol 4 mod-rewrite apache-2.4
我们已经设置了一些子域,我想简化一些 apache 配置 - 特别是因为这些特定的子域是不稳定的。无论如何,我正在尝试获得包含主机的重写规则。
到目前为止,我有:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*).net.au$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%1.net.au$1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)
这是基于/sf/ask/254387101/和http://httpd.apache.org/docs/2.4/rewrite/vhosts.html
然而,第一个条件中的模式没有写入重写的地址,我最终被发送到 .net.au/wherever(不允许我在前面发布 https) - 我错过了什么吗?
在 Ubuntu 14.04 上运行 apache 2.4
当请求的主机和预期的主机之间的域名相同时,Ladadadada 建议的简单情况有效:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)
但是,一个额外的困难是我还需要http:// sub-domain.local重定向到http:// sub-domain.net.au- 所以使用%{HTTP_HOST}是不够的。
我又看了一些例子,意识到 %1 反向引用似乎只适用于 RewriteRule 之前的 RewriteCond。
我重新排序了东西:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.*)(.local|.net.au)$
RewriteRule ^(.*)$ https://%1.net.au$1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)
而且重定向效果很好
| 归档时间: |
|
| 查看次数: |
10141 次 |
| 最近记录: |