首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特定目录上的Apache虚拟主机

问特定目录上的Apache虚拟主机
EN

Stack Overflow用户
提问于 2011-07-29 05:18:46
回答 2查看 543关注 0票数 1

我需要我的站点在我的zend应用程序的特定目录上有一个虚拟主机。当用户输入www.example.com时,它应该转到普通文档根目录,但当用户导航到www.example.com/cms时,它应该转到/var/www/cms/public,它的.htaccess文件如下所示:

代码语言:javascript
复制
SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

在本地主机上,我将以下代码行添加到/etc/apache/httpd-vhosts.conf

代码语言:javascript
复制
NameVirtualHost *:80
<VirtualHost  *:80>
   DocumentRoot "/var/www/cms/public"
   ServerName persian_literature
   # This should be omitted in the production environment
   SetEnv APPLICATION_ENV development
   <Directory "/var/www/cms/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

现在,http://localhost/转到/var/www/cms/public,一切都正常了。我的问题是,我应该如何更改上面的代码,以强制http://localhost/作为正常的目录根(这样我就可以使用其他应用程序)并将http://localhost/cms作为虚拟主机?

EN

回答 2

Stack Overflow用户

发布于 2011-07-29 05:23:31

虚拟主机在主机名/域名级别执行,而不是在目录级别执行。您可以使用别名将URI /cms指向服务器上的某个其他目录,方法是

代码语言:javascript
复制
Alias /cms /var/www/cms/public

在.conf文件中(这在.htaccess中不起作用)

票数 3
EN

Stack Overflow用户

发布于 2011-07-29 05:24:29

也许是symlink (符号链接)?当然,您仍然应该拥有该条目。您必须在配置中设置(我认为是vhost配置,也许是.htaccess),让apache遵循符号链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6865811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档