zendフレームワークをサーバー上のサブドメインとうまく連携させるのに問題があります。私はubuntu11.10でLAMPスタックを実行していますが、ゾーンレコードが定義されているダイナミックDNSサービスも使用しています。つまり、基本的に私のDNSは次のように設定されています。
DNS:1つの会社に登録し、ここでダイナミックDNSのネームサーバーをドメイン名に指定します。
ダイナミックDNSホストでは、タイプAの3つの定義済みゾーンレコードがあります。
mydomain.com 000.00.0.0
www.mydomain.com 000.00.0.0
*.mydomain.com 000.00.0.0 <-- wildcard to catch all subdomains
Apacheのセットアップ:
/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/:controller
かwww.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
すべてが機能するように通常のドメインとしてアクセスされる場合です。