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は変更されませんでした。