サブドメインから独自ドメインへのリダイレクトを設定するため、エックスサーバー内のファイルマネージャにてhtaccessの編集から設定しました。
しかし、設定後、500エラーが出てしまいました。現在は最初のものに戻しています。
設定したいことはサブドメインから独自ドメインへ引っ越したため、パーマリンク構造(ドメイン以下)が変わらない場合のリダイレクト設定を行いたいです。
リダイレクトしたいURL(仮)
https://personal.kurashi.jp/
↓
https://kurashi.jp/personal
記載したコードは以下になります。
# ========= ここからリダイレクトコードを追記 =========
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?personal\.kurashi\.jp$ [NC]
RewriteRule ^(.*)$ https://kurashi.jp/personal/$1 [L,R=301]
# ========= ここまでリダイレクトコードを追記 =========
#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_99340(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
こんにちは。
リダイレクト元は、301リダイレクトを行うと、プロトコル上
htmlやphpの読み込みは一切しないので、全く必要ありません。
よってリダイレクト元(personal.kurashi.jp)のhtaccessは
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ ../personal/$1 [L]
で動作すると思います。
kurashi.jp/personal/
は、WordPressデフォルトのものやXServerが作ったデフォルトのものでいいです。
上のをいれてしまうとリダイレクトループになり機能しません。
※試験してないのでミスがあったらすいません。
※余談ですが、日本語のコメントをいれる場合は、必ずUTF-8で保存してください。shift-jisなどで日本語をいれると500です。
ご回答いただきありがとうございました。
いただいたアドバイスのおかげで、問題を解決することができました。
今後も何かございましたら、どうぞよろしくお願いいたします。