Apache で Zend Framework (PHP) アプリケーションを実行しています。ご存知かもしれませんが、このフレームワークでは、すべての URL をルーティングする必要がありますpublic/index.php
(フロント コントローラー パターン)。したがって、次のルールをディレクトリに追加しまし.htaccess
た。public_html
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
# rewrite non-www url's
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
DirectAdmin で、私は というサブドメインを作成しましたnewsletter
。これは (デフォルトでは、おそらく) そのファイルが に存在することを期待していますpublic_html/newsletter
。ただし、ルールにアクセスnewsletter.mydomain.com/somefile.html
すると、.htaccess
これがにリダイレクトされhttp://www.newsletter.mydomain.com//public/newsletter/
ます。
.htaccess
サブドメインをルールから除外するにはどうすればよいですか?