2016-08-30 3 views
0

Apacheサーバーでは、特定のサブディレクトリに対して行われた要求をWebルートにリダイレクトします。たとえば、ユーザーがhttp://www.my-domain.com/js/に行きたければ、http://www.my-domain.com/にリダイレクトします。私はこれを行うには.htaccessファイルとmod_rewriteを使用する必要があると仮定していますが、もっと良い方法があるかもしれません。Apacheサーバー上のサブディレクトリから動的Webルート/ドメインルートにリダイレクトするにはどうすればよいですか?

具体的には、インデックスファイルが含まれていないディレクトリにリクエストするたびにリダイレクトします。トリックだが、私はリダイレクトするドメインURLをハードコードしたくないということです。代わりに、Webルート/ドメインルートの変数を使用して、どの環境でコードを使用しているかに関係なく、そのコードが機能するようにします。

どうすればよいですか?ありがとうございました。私の質問にビットを追加する


、私は.htaccessファイルに次の両方を試してみましたが、どちらも働きました。

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^%{HTTP_HOST} [L] 
</IfModule> 

上記のことは私に何らかの奇妙なApacheエラーをもたらし、リダイレクトしませんでした。

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^%{DOCUMENT_ROOT} [L] 
</IfModule> 

これはルートディレクトリページにリダイレクトされましたが、URLは変更されませんでした。

答えて

0

私自身の質問に対する答えを見つけることができました。次の作品:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^/[L,R] 
</IfModule> 
関連する問題