1

我在让 zend 框架与我的服务器上的子域很好地配合时遇到问题。我在 ubuntu 11.10 上运行了一个 LAMP 堆栈,我还使用了一个动态 dns 服务,我在其中定义了我的区域记录。所以基本上我的 dns 设置如下:

DNS:在一家公司注册,并将我的域名指向此处的动态 DNS 名称服务器。

使用动态 DNS 主机,我定义了 3 个 A 类型的区域记录:

mydomain.com 000.00.0.0
www.mydomain.com 000.00.0.0
*.mydomain.com 000.00.0.0  <-- wildcard to catch all subdomains

阿帕奇设置

/etc/apache2/sites-available:: /sites-enabled 我有我的默认设置mydomain和另一个虚拟主机mysubdomain.mydomain.com

/var/www: 我有 mydomain.com/public /var/www/public 文件夹作为它的文档根目录

/var/www/mysubdomain:我mysubdomain.mydomain.com使用/var/www/mysubdomain/public文件夹作为它的根

我认为所有这些设置都是正确的,因为我正确地提供了任何请求www.mydomain.com,并且我也www.mysubdomain.mydomain.com正确地提供了任何请求。

但是当我发出类似的请求www.mysubdomain.mydomain.com/:controllerwww.mysubdomain.mydomain.com/:controller/:action从服务器发出 404 Not Found 并显示以下消息时:

The requested URL /controller/action was not found on this server.

我认为这是我的 .htaccess 的问题,它是按以下方式设置的

我的 .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php 

问题是,当我当前尝试访问的应用程序被设置并作为正常域访问时,www.mysubdomain.com一切正常。

4

1 回答 1

1

我正在使用以下.htaccess:

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

也许您可以尝试提供结果。

于 2012-02-06T15:35:47.520 回答