我需要我的站点在我的zend应用程序的特定目录上有一个虚拟主机。当用户输入www.example.com时,它应该转到普通文档根目录,但当用户导航到www.example.com/cms时,它应该转到/var/www/cms/public,它的.htaccess文件如下所示:
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
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作为虚拟主机?
发布于 2011-07-29 05:23:31
虚拟主机在主机名/域名级别执行,而不是在目录级别执行。您可以使用别名将URI /cms指向服务器上的某个其他目录,方法是
Alias /cms /var/www/cms/public在.conf文件中(这在.htaccess中不起作用)
发布于 2011-07-29 05:24:29
也许是symlink (符号链接)?当然,您仍然应该拥有该条目。您必须在配置中设置(我认为是vhost配置,也许是.htaccess),让apache遵循符号链接。
https://stackoverflow.com/questions/6865811
复制相似问题