【发布时间】:2012-01-14 21:21:23
【问题描述】:
我在 Ubuntu 上开发了一个 Zend Framework 项目。我在本地机器上创建了一个虚拟主机进行测试。它在我的本地机器上运行良好。这是本地机器上虚拟主机的入口。
<VirtualHost *:80>
ServerName example.dev
DocumentRoot /var/www/example/public/
<Directory /var/www/example/public/>
AllowOverride All
</Directory>
</VirtualHost>
问题:
我的问题是,当我购买域名(example.com)名称和托管时,他们给了我以下 ftp 目录来上传我的内容。
example.com 指向/www.example.com/web/content
但我需要example.com 指向/www.example.com/web/content/public
我要求他们解决它,但他们说这是不可能的。是否有任何编程/配置解决方案。
谢谢
编辑:
我已经在/www.example.com/web/content/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]
【问题讨论】:
-
我确信有一些解决方法,而且我确信会有一些解决方法。不过,一般来说,没有可能在 Web 根目录之外拥有目录的 Web 托管并不是很好。根据他们的其他功能是什么,这会让我考虑寻找另一个供应商
-
@Pekka:谢谢。如果我放置一个 index.php 文件
/www.example.com/web/content并将其重定向到该 index.php 中的/www.example.com/web/content/public。这是一个好的解决方案吗?它会起作用吗? -
我对 Zend MVC 不够熟悉,无法回答这个问题。我想您应该能够更改项目中的 .htaccess 文件,以便它在内部进行重定向,但在外部,
public/仍然不可见。我确定有这方面的资源,但我不知道在哪里 -
我已经在
/www.example.com/web/content/public中有.htaccess 文件。此.htaccess 文件用于将example.com/index.php/person/profile更改为example.com/person/profile(例如)。 -
请参阅stackoverflow.com/a/3765443/131824 了解解决此常见问题的方法列表。
标签: php zend-framework ftp dns hosting