带有Joomla网站的XAMPP子域

我正在使用XAMPP v3.2.4,除了Joomla 3.9.14,我不知道这有什么区别

在我的本地环境中,我通过访问localhost/mysite访问我的Joomla网站。我现在想拥有一个子域localhost/apps.mysite

我创建了一个名为apps的文件夹,并将其放置在我的Joomla根目录中,即C:\xampp\htdocs\mysite\apps。该文件夹包含一个index.html文件。

我进行了以下更改;

在Windows hosts文件中,添加了以下行;

127.0.0.1           localhost/apps.mysite

在我的httpd-vhosts.conf文件中添加;

NameVirtualHost 127.0.0.1:80
<virtualhost *:80="">
    DocumentRoot "C:/xampp/htdocs/mysite/apps"
    ServerName localhost/apps.mysite
    ServerAlias www.apps.mysite.localhost.com
</virtualhost>

我没有对配置文件进行任何其他更改。我已经重启了几次Apache,没有任何改变。

当我访问URL http://localhost/apps.mysite时,看到以下错误;

找不到对象!在此服务器上找不到请求的URL。如果 您手动输入了网址,请检查拼写,然后重试。

如果您认为这是服务器错误,请与网站管理员联系。

错误404本地主机Apache / 2.4.41(Win64)OpenSSL / 1.1.1c PHP / 7.3.9

要访问位于http://localhost/apps.mysite的子域,我需要更改什么?

FLH123456789 回答:带有Joomla网站的XAMPP子域

首先要为localhost创建一个VirtualHost,以备不时之需

# Virtual Hosts
#
<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "C:/xampp/htdocs"
  <Directory "C:/xampp/htdocs"/>
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

## then add main site
<VirtualHost *:80>
  ServerName mysite.local
  ServerAlias www.mysite.local
  DocumentRoot "C:/xampp/htdocs/mysite/"
  <Directory "C:/xampp/htdocs/mysite/"/>
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

## then add the sub domain
<VirtualHost *:80>
  ServerName aps.mysite.local
  ServerAlias www.aps.mysite.local
  DocumentRoot "C:/xampp/htdocs/mysiteapps/"
  <Directory "C:/xampp/htdocs/mysiteapps/"/>
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

您需要像这样将这两个站点添加到您的C:\windows\system32\drivers\etc\hosts文件中

127.0.0.1 mysite.local aps.mysite.local
::1 mysite.local aps.mysite.local

要更改HOSTS文件,您将需要从命令窗口重新启动或刷新DNS缓存

>ipconfig /flushdns
,

第一主机文件不处理文件夹,只是将IP地址映射到主机名。

主机文件应为

127.0.0.1 localhost apps.mysite

127.0.0.1 localhost
127.0.0.1 apps.mysite

我喜欢第二种方法,因为我可以注释这一行。

第二您的虚拟主机 ServerName localhost / apps.mysite 不适用于子文件夹。

有效的服务器名称值可以是:domain.com,example.com,site1.example.com,user.site1.example.com和其他子项。

用于映射apps.mysite的虚拟主机示例应为:

<VirtualHost *:80>
  ServerName apps.mysite
  ServerAlias  www.apps.mysite
  ## Vhost Document Root
  DocumentRoot "C:/xampp/htdocs/mysite/apps"
</VirtualHost>

这是一个最小的示例,没有定义日志或特定于目录的规则。使用此配置,您将只能通过在计算机上使用http://apps.mysite来访问站点,因为主机文件正在将“ apps.mysite”解析为本地主机(127.0.0.1)。

要访问位于http://localhost/apps.mysite的子域,我需要更改什么?

http://localhost/apps.mysite不是子域,是具有文件夹apps.mysite的域localhost,有效的子域是subDomain.domain.com。

.com 是顶级域名
domain.com 是域名
subDomain.domain.com 是domain.com的子域

希望有帮助。

本文链接:https://www.f2er.com/2797451.html

大家都在问