.htaccess 使所有子域访问网站根文件

.htaccess 使所有子域访问网站根文件,.htaccess,dns,subdomain,.htaccess,Dns,Subdomain,以下是我想做的: 假设我有www.mysite.com,它是一个复杂的网站,有很多文件 我想让fr.mysite.com、it.mysite.com、uk.mysite.com访问根网站中的文件(即:fr.mysite.com/jobs.php将实际加载mysite.com/jobs.php,但在浏览器url中它将显示与子域的链接) 我想建立一个网站的内容来自多个国家,我希望每个国家都可以访问它的子域代码。如果我能做到这一点,我就可以用php处理url,并知道url中的国家代码 将整个站点复制

以下是我想做的:

  • 假设我有www.mysite.com,它是一个复杂的网站,有很多文件
  • 我想让fr.mysite.com、it.mysite.com、uk.mysite.com访问根网站中的文件(即:fr.mysite.com/jobs.php将实际加载mysite.com/jobs.php,但在浏览器url中它将显示与子域的链接)
  • 我想建立一个网站的内容来自多个国家,我希望每个国家都可以访问它的子域代码。如果我能做到这一点,我就可以用php处理url,并知道url中的国家代码
  • 将整个站点复制到每个子域文件夹不是一个选项

如果您对如何实现这一点有任何想法,请告诉我,我想这是一个.htaccess的东西,但我无法理解。

在您的
VistualHost
配置中使用
ServerAlias
:将其设置为单个虚拟主机,其中所有子域都指向同一根文件夹:

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias *.mysite.com
    DocumentRoot "\path\to\your\site\"
    ...
</VirtualHost>

服务器名mysite.com
ServerAlias*.mysite.com
DocumentRoot“\path\to\your\site\”
...

这是最推荐的方法--此处无需涉及URL重写。

VistualHost
配置中使用
ServerAlias
:将其设置为单个虚拟主机,其中所有子域都指向同一根文件夹:

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias *.mysite.com
    DocumentRoot "\path\to\your\site\"
    ...
</VirtualHost>

服务器名mysite.com
ServerAlias*.mysite.com
DocumentRoot“\path\to\your\site\”
...

这是最推荐的方法——这里不需要涉及URL重写。

您好,谢谢您的回复。我尝试了你的代码,但是我得到了一个“内部服务器错误”(比如当ur.htaccess没有正确配置时)。那3个点“…”一定在那里?顺便说一句,我在godaddy使用一个共享主机,但我没有专用的IP。@Adrian三个点代表其余可能的配置。在您的真实配置中不应该是这样。在任何情况下——如果托管在GoDaddy共享托管计划上,则不能使用此代码。1) 使用GoDaddy DNS管理器创建其他子域。2) 使用其宿主控制面板将任何子域指向与主域相同的文件夹(可能需要在此控制面板内创建子域,因此无需执行#1)。如果您不知道如何使用他们的控制面板,请参阅他们的手册。我没有托管ATM,无法为您检查。感谢您的帮助,我设法从托管控制面板实现了我想要的。谢谢你的回复。我尝试了你的代码,但是我得到了一个“内部服务器错误”(比如当ur.htaccess没有正确配置时)。那3个点“…”一定在那里?顺便说一句,我在godaddy使用一个共享主机,但我没有专用的IP。@Adrian三个点代表其余可能的配置。在您的真实配置中不应该是这样。在任何情况下——如果托管在GoDaddy共享托管计划上,则不能使用此代码。1) 使用GoDaddy DNS管理器创建其他子域。2) 使用其宿主控制面板将任何子域指向与主域相同的文件夹(可能需要在此控制面板内创建子域,因此无需执行#1)。如果您不知道如何使用他们的控制面板,请参阅他们的手册。我没有托管ATM,无法为您检查。感谢您的帮助,我设法从托管控制面板实现了我想要的。干杯