.htaccess設定で奇妙な状況が発生しました。ドメインごとに1つのディレクトリを持つマルチドメインホスティングがあります。たとえば、私は次のようにしています。
http://www.domain1.com
http://www.domain2.com
および次のディレクトリ構造:
/domain1/
/domain1/index.php
/domain2/
/domain2/index.php
/domain2/subdirectory/
/domain2/subdirectory/index.php
および.htaccess
次の内容のファイル:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/domain1/.*$
RewriteRule ^(.*)$ domain1/$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/domain2/.*$
RewriteRule ^(.*)$ domain2/$1 [L]
1つの例外を除いて、すべてが好きなように機能します。
http://www.domain2.com/subdirectory/
(最後にスラッシュが付いています)コンテンツは適切に表示され、アドレスバーのURLは変更されませんが、次の場合は次のようになります。
http://www.domain2.com/subdirectory
(最後にスラッシュなしで)コンテンツは正しく表示されますが、アドレスバーのURLは次のように変更されます。
http://www.domain2.com/domain2/subdirectory/
(サブディレクトリ名とスラッシュが最後に追加されていることに注意してください)そして、ユーザーがアドレスバーにその変更を表示するのが好きではありません。それが私の問題です。