###前提・実現したいこと
旧ページからwordpressでページを作り直しました。
Googleからの評価を落としたくない、被リンクを生かしたい等の理由で
.htaccessファイルに301リダイレクトを設定したいです。
wordpressがもとから提供するhtaccessの各行との絡みのためか、
[php?=]を使用している箇所のリダイレクトがうまくいきません。
最終目標はリダイレクト成功ですが、
ひとつづつ理解するため、まずは
wordpressのパーマリンク設定で作られるhtaccessファイルの
#RewriteRule ^index.php$ - [L]
の意味についてお教えください。
###発生している問題・エラーメッセージ
htaccessファイルに「該当のソースコード」の様に記述しました。
RewriteRule ^servicesbl/index.php?ID=([1-3])$ /services/id$1 [R=301,L]
がうまくリダイレクトされてくれません。
/servicesbl/index.php?ID=3 にアクセスすると
/servicesbl/?ID=3
へ飛ばされています。/services/id3に飛ばしたいです。
###該当のソースコード
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^aboutus/index.php$ /aboutus [R=301,L]
RewriteRule ^servicesbl/service.php$ /services/service [R=301,L]
RewriteRule ^servicesbl/index.php?ID=([1-3])$ /services/id$1 [R=301,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
###試したこと
該当行を単純に
RewriteRule ^servicesbl/index.php$ /services/id$1 [R=301,L]
としたところ/services/id?ID=3に飛ばされた後、/archives/casestudy/id02?ID=3
というところに2回目のリダイレクトされてしまった。
下から5行目
RewriteRule ^index.php$ - [L]
下から2行目
RewriteRule . /index.php [L]
を削除したところ/services/id?ID=3へのリダイレクト1回になった。
どうやら該当行の問題とwordpressの記述、切り分けて考える必要がありそうと分かり、
wordpressの提供するhtaccessの各行の意味を調査中です。
残りの行の意味は解りましたが
RewriteRule ^index.php$ - [L]
これの意味がわからない状態です。[-]は何を意味するのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。