2012-01-21 6 views
2

私はサブドメイン上でzendフレームワークプロジェクトをホストしています。いいえ、project.mydomain.comと言うことができます。しかし、このドメインにはmydomain.com/projectからもアクセスできます。さて、二つの異なる例を維持することの複雑さを避けるために、私は、サブドメインに直接アクセスパスをリダイレクトすることによって、複雑さを最小化しようとしていますすなわちサブドメインへのリダイレクトまたは特定のルールの適用のための.htaccess

mydomain.com/project> project.mydomain.com

しかし、同じディレクトリがサブドメインを使ってアクセスされている場合、私はそれにもいくつかのルールを適用したいと思っています。ここで

は私が直接パスを使用できるようにされた私のcurrectの.htaccessすなわちmydomain.com/project/

RewriteEngine On 

# Exclude some directories from URI rewriting 
#RewriteRule ^(dir1|dir2|dir3) - [L] 

RewriteRule ^\.htaccess$ - [F] 

RewriteCond %{REQUEST_URI} ="" 
RewriteRule ^.*$ /projects/myproject.com/public/index.php [NC,L] 

RewriteCond %{REQUEST_URI} !^/public/.*$ 
RewriteRule ^(.*)$ /projects/myproject.com/public/$1 

RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^public/.*$ /projects/myproject.com/public/index.php [NC,L] 

次ですが、私は唯一のサブドメインのための.htaccessを書き込みます。しかし、直接アクセスしたパスをサブドメインにリダイレクトする必要があります。どのように.htaccessを通してこのリダイレクトを行うのですか?

PHPファイルのリダイレクトはオプションではありません。

答えて

0

ロビン、パスmydomain.com/projectsprojects.mydomain.comにリダイレクトしようとしているようです。だから、私はこれが結合されるとは思わない.htaccess。あなたが必要とするように、/projects/your-anotherprojectからほとんどすべてがprojects.mydomain.com/your-anotherprojectにリダイレクトされる必要があります。すべてのプロジェクトでhtaccessを書き直すのは悪い考えです。

このケースであれば、私は、これがそのサブドメインに、すべてのサブディレクトリのために、あなたはすべてのケースを解決する代わりにprojects/ルート上の簡単な.htaccessファイルを持つ

RewriteEngine On 
RedirectMatch 301 ^/projects/(.*)$ http://projects.mydomain.com/$1 

示唆しています。上記のように、プロジェクトのルートにプロジェクト.htaccessを書き込んでください

+0

ありがとうございました....私は悪い解決策を使用していました。 – mrN

関連する問題