サブドメインを持つZend Framework

私のサーバー上のサブドメインでうまくプレイするためにzendフレームワークを取得する際に問題が発生しました。私はubuntu 11.10上で動作するLAMPスタックを持っていますが、ゾーンレコードが定義されているダイナミックDNSサービスも使用しています。だから基本的に私のDNSは次のように設定されています:

DNS: Registered with one company and point my domain name to the Dynamic DNS's nameservers here.

ダイナミック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 setup:

/etc/apache2/sites-available ::/sites-enabled 私は mydomain のデフォルト設定と mysubdomain.mydomain.com の別の仮想ホストを持っています

/var/www : I have mydomain.com/public /var/www/public folder as its document root

/var/www/mysubdomain : I have mysubdomain.mydomain.com using /var/www/mysubdomain/public folder as its root

www.mydomain.com へのリクエストを正しく処理し、 www.mysubdomain.mydomain.com へのリクエストも正しく処理するので、これはすべて正しくセットアップされていると思います。

しかし、 www.mysubdomain.mydomain.com/:controller www.mysubdomain.mydomain.com/:controller/:action のようなリクエストをすると404が発行されます次のメッセージでサーバーから見つかりません:

リクエストされたURL /コントローラ/アクションがこのサーバー上に見つかりませんでした。

これは私の.htaccessの問題であると考えています。

my .htaccess:

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

問題は、現在アクセスしようとしているアプリケーションがセットアップされていて、 www.mysubdomain.com のような通常のドメインとしてアクセスされている場合です。

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]

たぶんあなたは試して結果を提供することができます。

1
追加された
私が正しく覚えていれば、デフォルトの.htaccess for zfが奇妙なため、その.htaccessで500台の内部サーバエラーが発生する
追加された 著者 John,
申し訳ありませんが、私のエラーが見つかりました。これはApacheの新しいインストールでした。私はa2enmodを書き換えて、URLの書き換えを可能にしました。私のオリジナルの.htaccessはまだ動作しますが、私はGoeranに時間をとるための答えを与えました。
追加された 著者 John,
あなたは<?php phpinfo();だけでtest.phpを配置できますか? ?>を/ publicフォルダに置き、アクセスできるかどうか確認してください。それともあなたも500を手に入れていますか?
追加された 著者 Goeran,
httpd.confの仮想ホストに AllowOverride FileInfo を設定しましたか? .htaccessファイルに書き換えエンジンを有効にする権限を与えるために必要です。
追加された 著者 Goeran,
ありがとうジョン:)
追加された 著者 Goeran,