現在、メイン サイトのサブフォルダとしてブログをセットアップしていますが、mydomain.com.au/blog/
これ/blog
は PHP によって動的に生成され、物理的に存在しません。
blog.mydomain.com.au
私はサブドメインを作成しましmydomain.com.au/blog/
たblog.mydomain.com.au
.
私は htaccess を使用して何度か試み、数回近くなりましたが、常に何か問題があります。以下は、予想される結果に最も近い2つの試みです。
1 回目の試行
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^blog\.mydomain\.com\.au$
RewriteRule ^.*$ http://www.mydomain.com.au/blog%{REQUEST_URI} [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
これによりblog.mydomain.com.au
にリダイレクトされwww.mydomain.com.au/blog/
ますが、URL はマスクされません (アドレス バーには が表示されますwww.mydomain.com.au/blog/
)。
2回目の試行
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com\.au$ [NC]
RewriteRule blog/(.*) http://blog.mydomain.com.au/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
これが一番近かった。下のすべてのページで必要な方法で URL をリダイレクトしてマスクします/blog/
(たとえば、 blog.mydomain.com.au/whatever/ は www.mydomain.com.au/blog/whatever/にリダイレクトしますが、URL をブログとしてマスクします。 mydomain.com.au/whatever/blog.mydomain.com.au
) にリダイレクトされますが、に対しては実行されませんwww.mydomain.com.au
。