我的ROOT上有一个有趣的.htaccess配置,如下所示:
RewriteEngine On # add a trailing slash if portal-pages/$1 is a directory RewriteCond %{DOCUMENT_ROOT}/portal-pages/$1 -d RewriteRule ^(.*[^/])$ %{REQUEST_URI}/ [L,R=301,NE] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(?!portal-pages/)(.*)$ portal-pages/$1 [L,NC]
所以我真正的道路就是这样:
local.com/portal-pages/home
但.htaccess将此路径转换为:
local.com/home
效果很好,但如果我点击local.com,我希望它转发到local.com/home。如果我点击local.com/ww只是去/ /无论如何。
如何使用此配置执行此操作?提前致谢。
另外,如何强迫所有内容加入https?
答案 0 :(得分:1)
您可以使用一个额外的规则将着陆页重写为/home
http -> https
的另一个重定向规则:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
# add a trailing slash if portal-pages/$1 is a directory
RewriteCond %{DOCUMENT_ROOT}/portal-pages/$1 -d
RewriteRule ^(.*[^/])$ %{REQUEST_URI}/ [L,R=301,NE]
# forward landing page to /home
RewriteRule ^/?$ /home [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!portal-pages/)(.*)$ portal-pages/$1 [L,NC]