2012-03-16 11 views
0

私はドメインを持っています(名前にする)mydomain.com。 サブドメイン、sub.mydomain.comを追加しました。サブドメインの.htaccessでmod_rewriteを使用するには?

サブドメイン(godaddy.comのツールを使用)を/subディレクトリにマップしました。これは、他のサイトであり、2つのサイトは互いに関係ありません。これは、静的なファイルパス、例えば元のファイルとうまく動作します。 http://sub.mydomain.com/js/script.js.php。 しかし、私はhttp://sub.mydomain.com/js/script.js

私の.htaccessファイルを取得するために書き換えモジュールを使用できるようにしたいと思います:ルートディレクトリ内

.htaccessファイル:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^sub.mydomain.com$ 
RewriteRule ^.*$ http://mydomain.com/sub%{REQUEST_URI} [L,P] 

の.htaccess /サブにディレクトリ:

RewriteEngine on 
RewriteRule ^js/script\.js$ js/script.js.php [L] 

(私は成功しなかった、RewriteBase /sub/を追加してみました)。 Apacheが/subの.htaccessに気づかなかったようです。

サブドメインのパスで書き直し作業を行うにはどうしたらいいですか?

+0

はその 'RewriteBase'してください:リライトが相対パスにあるので、あなたがそれを必要とします。 – Kaz

+0

'.htaccess'は文字通りあなたのマシンの'/sub'ディレクトリにありませんか?どのようにURLを '/ sub'をパス名にマッピングしていますか?' Alias/sub/sub'(URL '/ sub'はマシンパス'/sub'に行きます)ですか?これらのドメインを扱う ' 'の' DocumentRoot'は何ですか? – Kaz

+0

'DocumentRoot'が'/var/www/docroot'であるとします。すると、 '/ sub'というURLは'/var/www/docroot/sub'にマップされ、 '/ sub'にはマッピングされません。 '/ sub'に'/sub'を実行させたい場合、これはあなたのdocrootに対する特別な例外です。 'Alias'でそれをインストールすることができます。 – Kaz

答えて

1

を解決しよう!長い、排気デバッグ後

とグーグルで、私はトラブルをしたApacheの設定が見つかりました:

私はそれがの作品Options -MultiViews出来上がり、を追加しました!

///////////////////////////////////////////////////

今私の設定:

ルートで-noの.htaccess。ルート/sub

-.htaccessは:

DirectoryIndex site/index.php 
Options -MultiViews 
RewriteEngine on 
RewriteRule ^site/js/script.js$ /site/js/script.js.php [L] 
関連する問題