Mod rewrite 子域URL重写和Web应用程序

Mod rewrite 子域URL重写和Web应用程序,mod-rewrite,url-rewriting,subdomain,wildcard-subdomain,wildcard-mapping,Mod Rewrite,Url Rewriting,Subdomain,Wildcard Subdomain,Wildcard Mapping,因此,许多web应用程序让客户选择自己的子域,即mycompany.webapp.com 据推测,每个子域都使用同一组文件,唯一的子域可能存储为会话对象。那么URL重写是如何工作的呢 如果有人访问mycompany.webapp.com,您必须将其唯一地址重写为动态页面以设置会话变量,即webapp.com/mypage.php?cusomer=mycompany 但当你重定向时,你会在webapp.com/theappdirectory/而不是mycompany.webapp.com/ 那么他

因此,许多web应用程序让客户选择自己的子域,即mycompany.webapp.com

据推测,每个子域都使用同一组文件,唯一的子域可能存储为会话对象。那么URL重写是如何工作的呢

如果有人访问mycompany.webapp.com,您必须将其唯一地址重写为动态页面以设置会话变量,即webapp.com/mypage.php?cusomer=mycompany

但当你重定向时,你会在webapp.com/theappdirectory/而不是mycompany.webapp.com/

那么他们是如何做到的呢


PS正在运行IIS,但该方法对于任何服务器都应相同。对我们来说,最大的问题是我们不能执行webapp.com/theappdirectory/mycompany/somefile.html,即所有文件都位于一个目录中,我们必须以某种方式设置会话变量,同时保持子域屏蔽。

重定向只能在内部发生:

RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteCond %1 !=www
RewriteRule ^ mypage.php?customer=%1
要实现此功能,需要将服务器/虚拟主机配置为接受所有子域(例如,请参阅)。

任何web地址(包括子域)都使用DNS映射到ip地址

  • 现在,这些地址可以映射到单独的web服务器,您可以在其中将documentroot设置为您想要的任何内容

  • 但当多个域/子域托管在同一台物理机器上时,您的问题是有意义的。如果您使用的是apache,则可以使用此虚拟主机设置在逻辑上划分托管在同一服务器上的不同域。它基本上将主机地址(如x.example.com、y.example.com)或IP地址映射到虚拟主机,虚拟主机设置初始参数,如DocumentRoot、PHPAdmin值


  • 签出并获取更多信息

    这会屏蔽子域吗?因此,即使你在我见过的其他网站上,比如说webapp.com/theappdirectory/somepage.html,你的网页浏览器也会显示mycompany.webapp.com/somepage。html@IgorK:因为重定向只是内部的,所以没有显示实际的位置。但这仍然允许直接请求实际文件。谢谢,但我知道我会为所有子域提供一个通配符,以指向同一服务器,我想知道它们如何在保持子域屏蔽的同时共享web应用程序的同一组文件。