【发布时间】:2018-12-22 06:59:44
【问题描述】:
我正在使用一个 cPanel 主机,不幸的是,它不允许我访问 Apache conf 文件来设置任何VirtualHosts。我的域在子文件夹中。我现在也在尝试强制 SSL 以及强制www。
我的要求:
- 域需要在子文件夹中,因为我还有其他域
- 强制 SSL
- 强制 www。在网址中
以下是我的 .htaccess 文件中的内容:
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
我进行了各种尝试,似乎满足了我的一两个要求,但不是同时满足所有要求。
感谢任何帮助。
【问题讨论】:
-
@Nic3500 我做了研究。我已经搜索过这个问题,但无法找到符合我确切要求的解决方案。大多数解决方案处理两个,但不是全部三个。
-
子目录应在 Apache 服务器端处理,为您的域使用
alias或单独的VirtualHost。恕我直言,不需要强制用户进入浏览器级别的目录。 -
我同意,但是,它是一个 cPanel 主机,我发现它非常有限。据我所见,我无法使用我使用过的任何 cPanel 设置进行
VirtualHost,这让我感到非常沮丧。如果可以的话,我会完全为每个域和子域做单独的 VirtualHosts。 -
啊,老实说,我从来没有用过cpanel,总是直接在conf里,我会把-1去掉。
-
谢谢!我也尽可能在 conf 中工作。
标签: apache .htaccess ssl mod-rewrite cpanel