私はhtaccess文書を通してサブドメインを前方にしようとしています。以下の指示はhttp://sub.domain.com
を内部構造Root > subfolder > index.php
に転送します。これはすべてうまくいく。htaccessでサブドメインを作成するには?
# REWRITE DEFAULTS
# ====================================================================================================
RewriteEngine On
RewriteBase/
# SUBDOMAIN FORWARD
# ====================================================================================================
RewriteCond %{HTTP_HOST} ^sub.domain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
RewriteCond %{HTTP_HOST} ^sub.domain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1
この方法では1つの(大きな)停止があります。 Root > subfolder > images
などのサブフォルダ内のフォルダにアクセスしようとすると、スラッシュで終了しないと、http://sub.domain.com/images
のアドレスバーにあるURLはhttp://sub.domain.com/subfolder/images/
になるはずです私が望むもの
スラッシュを忘れた場合にスラッシュを追加するとどうなりますか?
RewriteCond %{HTTP_HOST} ^(.*).domain.com$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://%1.domain.com/$1/ [L,R=301]
このことは、それがディレクトリで、スラッシュを追加し、それがファイルの場合、それはスラッシュを省略します検出されますので、あなたは、通常のURL(http://www.domain.com/images
)を持っているときに、すべてが動作します。ただし、これは私たちのhttp://sub.domain.com/images
の例では機能しません。
htaccessを使用してサブドメインを正しく動作させる方法を知っている人はいますか? /subfolder/images
は、実際のディレクトリとmod_dir
モジュールであるため、何が起こっている