这可能是一个常见问题,但我无法找到答案。
我有一个使用Zend Framework的PHP应用程序。假设我在my-app
主机下运行应用程序,源文件位于本地文件系统中的/my-path/my-app
下。以下是Apache vhost配置:
<VirtualHost *:80>
ServerName my-app
DocumentRoot "/my-path/my-app/public"
<Directory "/my-path/my-app/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
.htaccess
目录中的public
文件包含以下重写规则:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
到目前为止,ZF应用程序的所有标准。
现在,我需要在url子文件夹(例如foo
)下运行此应用程序,即在http://my-app/foo/
而不是http://my-app/
下。
我需要做些什么来改变这项工作?什么是最佳做法?
假设从应用程序生成带有base-url的URL不是问题。并且还假设应用程序将重写所有URL,包括应用程序的css / js源的链接。
谢谢!
答案 0 :(得分:0)
好的,所以在玩了一下后我找到了简单的解决方案。只需在Apache vhost配置中添加别名即可:
<VirtualHost *:80>
ServerName my-app
DocumentRoot "/my-path/my-app/public"
<Directory "/my-path/my-app/public">
AllowOverride All
Require all granted
</Directory>
Alias /foo /my-path/my-app/public
</VirtualHost>