有没有办法重定向到特定页面但是添加https并同时保持路径相对?
RewriteEngine On
RewriteRule ^user/([^/]+)/settings/?$ https://%{HTTP_HOST}/settings/settings.php?u=$1 [QSA,L]
上述方法效果很好但是我们从https://%{HTTP_HOST}
开始就是绝对的
这会使结束网址显示确切的请求:https://www.mydomain.com/settings/settings.php?u=John
相反,我们可以重定向到某个页面,以相对方式添加https吗?这样确切的路径就会被隐藏起来,我们只会看到一个"文件夹结构":https://www.mydomain.com/user/John/settings
感谢您的帮助!
答案 0 :(得分:1)
在内部重写之前,Trick是对漂亮的URL做http->https
(R = 301)规则。所以这样的事情会起作用:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
RewriteRule ^user/([^/]+)/settings/?$ /settings/settings.php?u=$1 [QSA,L,NC]