【发布时间】:2018-07-29 18:11:38
【问题描述】:
我正在尝试编写一个涵盖所有我需要的基础的 htaccess 文件,但我有很多非常具体的操作要涵盖。
我有三个域:.com .co.uk 和 .london,我希望所有流量都以 https://www.somepage.com 结束,但到 .London 的任何流量都必须重定向到特定的 mysite/London.php 页面
所以我的所有条件都是:
force www prefix
force https
remove extensions
force .co.uk to .com domain
force any .london traffic to specific /london page
到目前为止我有:
# Force WWW prefix
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
# Force SSL
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
# Remove .php extension
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]
所以我需要添加最后两个条件
force .co.uk to .com domain
force any .london traffic to specific /london page
但我很难让所有东西协同工作。
编辑:
仍在努力让所有条件协同工作,因此为了清楚起见,在此处添加一些示例。
www.example.com -> https://www.example.com
http://example.com -> https://www.example.com
http://www.example.com/mypage.php -> https://www.example.com/mypage
www.example.co.uk -> https://www.example.com
http://www.example.co.uk -> https://www.example.com
http://www.example.co.uk/mypage.php -> https://www.example.com/mypage
www.example.london -> https://www.example.com/london
http://example.london -> https://www.example.com/london
http://example.london/anything -> https://www.example.com/london
所以所有 URL 必须以添加“www”结尾,仅限 .com 域,强制 https,删除 php 扩展名。
我已经尝试了数百个代码 sn-ps 和组合,但无法让所有条件同时工作。
【问题讨论】:
标签: .htaccess url-redirection http-redirect