私のホスト上に同じディレクトリ "public_html"を指す複数のドメインがあります。
メインフォルダに.htaccessファイルがあり、ローカルに各ドメインを%{HTTP_HOST}
mod_rewrite変数と同じ名前の特定のフォルダにリダイレクトします。これは、.htaccessファイルの内容であるサブディレクトリ内のディレクトリを動的に確認してください
:(例えばpublic_html/www.domain.com/
からwww.domain.com
をリダイレクト):それはディレクトリスラッシュディレクティブに来るとき、私は問題を抱えている
RewriteEngine On
RewriteBase/
RewriteCond /%{HTTP_HOST}/#%{REQUEST_URI} !^([^#]+)#\1
RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [L]
。
私はhttp://www.domain.com/folder
のようなスラッシュせずに、ドメインのURLでフォルダにアクセスしようとすると、mod_dirはDirectorySlashを適用し、外部http://www.domain.com/www.domain.com/folder/
に私の要求をリダイレクトし、私はドメインディレクトリAFTER 301リダイレクトを適用しようとしたが、このようにリダイレクトします。
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ $1/ [R=301,L]
しかし、これが機能するために、私は
%{REQUEST_FILENAME}
が
%{HTTP_HOST}
「フォルダ」内に存在するかどうかを確認することができなければなりません。私はなくても、成功のために、次のことを試してみました:
%{REQUEST_FILENAME}
は
%{HTTP_HOST}
と同じ名前のディレクトリ内になるディレクトリである場合、
RewriteCond /%{HTTP_HOST}/%{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ $1/ [R=301,L]
はどのようにして、動的に、確認することができますか?事前