在我的本地开发服务器上,我使用这个projectName.dev之类的域设置了测试站点
在我的 Apache 配置文件中使用以下设置...
NameVirtualHost *:80
<VirtualHost *:80>
VirtualDocumentRoot E:/Server/htdocs/projects/%1/www
ServerAlias *.dev
</VirtualHost>
这允许我projectName.dev
在浏览器中访问,它将从E:/Server/htdocs/projects/projectName/www/
我想修改它,以便如果我www
在我的示例中使用子域,我也可以访问相同的文件夹projectName.dev
,并www.projectName.dev
加载相同的文件。
有人可以帮我做到这一点吗?我不太了解文档
你可以试试以下
您可以使用 %-2 始终获取“项目”名称。%-2 从最后给你 URL 的第二部分。例如,如果 url 是http://project1.dev/,那么 docroot 就是 E:/Server/htdocs/projects/project1/www
ALex_hha 回复是正确的,问题是 VirtualDocumentRoot 中的 %1。替换为使用的主机名。同时使用多个通配符变体和 VirtualDocumentRoot 总是很棘手。
您有 2 个解决方案:
projectName.dev
。如果您有许多项目,则需要为每个项目创建一个虚拟主机配置,但仅针对一个项目是一个很好的解决方法。
创建2个配置:
%2+ 表示您希望收到主机名的第二部分和前一部分。查看mod_vhost 帮助页面了解更多信息
您没有使用 unix,但在 unix 上,您还可以执行从 www 名称到项目名称的符号链接:
这样 projectname 和 www.projectname 都指向同一个地方