使用.htaccess重定向到https、子文件夹和阻止裸域URL?

使用.htaccess重定向到https、子文件夹和阻止裸域URL?,.htaccess,redirect,.htaccess,Redirect,我花了很长时间构建一个.htaccess文件来完成我所需要的一切。我有一个域名,它只在a/forums子目录中托管一个论坛。我没有登录页,也不打算登录 所以我想将根域重定向到/forums子文件夹,强制使用https,然后阻止裸域被允许 除了用户仍然可以手动访问/选择一个裸域变体之外,我的所有功能都正常工作。一些用户已经将裸体域名变为书签,我想强迫他们和所有用户返回www.prefix 下面的代码接受http:or http:example.com,并强制执行。问题是用户仍然可以手动访问 我尝试

我花了很长时间构建一个.htaccess文件来完成我所需要的一切。我有一个域名,它只在a/forums子目录中托管一个论坛。我没有登录页,也不打算登录

所以我想将根域重定向到/forums子文件夹,强制使用https,然后阻止裸域被允许

除了用户仍然可以手动访问/选择一个裸域变体之外,我的所有功能都正常工作。一些用户已经将裸体域名变为书签,我想强迫他们和所有用户返回www.prefix

下面的代码接受http:or http:example.com,并强制执行。问题是用户仍然可以手动访问

我尝试了许多不同的方法来强制/forums子目录中的论坛始终使用www.prefix,但迄今为止没有任何效果:

RewriteEngine on
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) http://www.example.com/forums [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]

根据您展示的样品/尝试,请尝试以下内容。请确保在测试URL之前清除浏览器缓存

RewriteEngine on
##Handle non https all urls here.
RewriteCond %{HTTPS} off 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}  [NE,R=301,L]

##Handle non www urls here.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

##Handle no uri link with no www page.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^/?$ http://www.example.com/forums [R=301,L]

##Handle no uri link with www page.
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^/?$ https://www.example.com/ [R=301,L]

这可以将http强制转换为https,并通过在子目录中强制使用www.prefix来解决我的问题。但是,当访问根域www.example.com时,它会创建一个重定向循环,并带有“ERR_TOO_MANY_REDIRECTS”@spaceman spiff,好的,您希望通过后端中的哪个文件为您的根URL提供服务?我正在运行一个位于
https://www.example.com/forums/
我正试图用www.prefix和https将所有内容重新定向到那里