我在 QNAP 上有由 NO-IP 管理的 DNS 和自托管网站,并在 Qnap 软件中定义了虚拟主机。
我的站点是www.site1.com
,www.site2.com
和一个新站点(www.site3.com
这个站点将与在 Joomla 中的用户输入中由通配符创建的子域一起使用)(例如user1.site3.com
是 site3.com/index.php/users/user1 的重定向)并且所有站点都位于(根)web_folder/site1/...site2/...site3/
。其他站点的虚拟主机正常工作。
现在,在此之前,我陷入了无法*.site3.com
在虚拟主机中定义通配符 dns 的 Qnap 问题上。我想这样做是因为当我在浏览器中输入anything.site3.com 时,它会将我带到位于我已发布站点的根文件夹中的index.html 文件(web/index.html)
为了让子域通过根索引并直接进入网站文件夹,我应该尝试什么,我可以在其中放置包含重写规则的.htaccess ?
- 我尝试使用 .htaccess 但无法管理要编写的内容以使其正常工作。
- 在 qnap 虚拟主机中定义通配符但不接受
我在想什么错?
我想避免在 web 文件夹中使用 .htacces 将每个域/子域重定向到其各自的子文件夹,然后在我的 site3 文件夹中使用另一个 .htaccess 来完成其余的重写(子域通配符和基于用户)
到目前为止,我已经做到了:
我将部分回答我的问题
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} !^www\.site3\.com<br>
RewriteCond %{HTTP_HOST} !^static\.site3\.com<br>
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)\.site3.com$ [NC]
RewriteRule ^(.*)$ http://site3.com/index.php/user/%2 [L]
问题是,我仍然希望看到user.site3.com
而不是完整链接。