Redirect 使用.htaccess和QNAP虚拟主机将子域重定向到子文件夹

Redirect 使用.htaccess和QNAP虚拟主机将子域重定向到子文件夹,redirect,subdomain,subdirectory,qnap,Redirect,Subdomain,Subdirectory,Qnap,我的DNS由QNAP上的无IP和自托管网站管理,QNAP软件中定义了虚拟主机 我的网站是www.site1.com,www.site2.com和一个新的www.site3.com,它(这一个将与用户在Joomla中输入的通配符创建的子域一起工作)(例如user1.site3.com将是site3.com/index.php/Users/user1的重定向,所有这些子域都位于(root)web\u文件夹/site1/…site2/…site3/。其他站点的虚拟主机工作正常 现在,在这样做之前,我陷

我的DNS由QNAP上的无IP和自托管网站管理,QNAP软件中定义了虚拟主机

我的网站是
www.site1.com
www.site2.com
和一个新的
www.site3.com
,它(这一个将与用户在Joomla中输入的通配符创建的子域一起工作)(例如
user1.site3.com
将是site3.com/index.php/Users/user1的重定向,所有这些子域都位于(root)
web\u文件夹/site1/…site2/…site3/
。其他站点的虚拟主机工作正常

现在,在这样做之前,我陷入了Qnap问题,无法在虚拟主机中定义通配符dns
*.site3.com
。我之所以要这样做,是因为当我在浏览器中输入anywhere.site3.com时,它会让我找到位于已发布网站根文件夹(web/index.html)中的index.html文件

为了让子域传递根索引并直接转到网站文件夹,我应该尝试什么,在那里我可以放置包含重写规则的.htaccess

  • 我尝试使用.htaccess,但无法管理要写什么才能让它工作
  • 在qnap虚拟主机中定义通配符,但不接受
  • 我怎么想的不对

    我希望避免在web文件夹中使用.htacces将每个域/子域重定向到其各自的子文件夹,然后在Inde my 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]
    
    重新编写引擎打开
    选项+FollowSymlinks
    重写cond%{HTTP_HOST}^www\.site3\.com
    重写cond%{HTTP_HOST}^静态\.site3\.com
    RewriteCond%{HTTP\u HOST}^(www\.)?(.+)\.site3.com$[NC] 重写规则^(.*)$http://site3.com/index.php/user/%2 [L]

    问题是,我仍然希望看到
    user.site3.com
    ,而不是完整的链接。

    作为更新。我正在运行wordpress多站点。My www.site3.com进入qnap(web或public_html文件夹),然后NAS虚拟主机管理器将其重定向到其实际子文件夹(site3)。 在这种情况下,当我写:

    -anything.site3.com它读取我的顶级(web或public_html)索引,而我无法访问wordpress子页面。(my anything.site3.com页面已从用户端创建)

    -site3.com它会按应有的方式进入mi site3文件夹,由qnap虚拟主机管理(我不必编写额外的htaccess)

    因此,我需要以某种方式让我的子域通过qnap的重定向,转到我的site3子文件夹,然后wordpress htaccess完成它的工作。应该这样做,这样我就不会有连续的循环。


    抱歉,我的解释可能有点混乱。

    这是问题的答案或部分?(听起来像答案…)