質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

2302閲覧

ワードプレスのリダイレクト処理について

hiro-

総合スコア19

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2016/10/21 05:58

編集2016/10/21 08:20

サイト改修に伴い、トップページと数ページを残し、それ以外のページにアクセスがあったときに
トップページに301でリダイレクトするようにしたいと考えています。
現状、トップページ以外のページにアクセスしたときにトップページに301リダイレクトするところまではできたのですが、今まで通りアクセスできるにしておきたいページに関して上手く処理が書けなく悩んでおります。
以下のhtaccessでtestページのときだけ301リダイレクトをしないで処理が終わるようにしたいのですが、
testページにアクセスするとトップページに301リダイレクトしてしまいます。
testページのみアクセスでき、他ページのときはトップページに301リダイレクトするような処理の書き方を
ご教授ください。
何卒よろしくお願いします。

【備考】
・wordpressを使用したサイトです。
・htaccessファイルはwp-adminやwp-contentのフォルダーのある場所の物を編集しています。

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^test$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [R=301,L] </IfModule> # END WordPress

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらが同様かなと思います。

https://teratail.com/questions/6437

こんな感じで如何でしょうか。

RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^test$ - [L] # ここは削ってもいいかもしれない RewriteCond %{REQUEST_FILENAME} !-f # 存在しないファイル指定の場合 RewriteRule適用 RewriteCond %{REQUEST_FILENAME} !-d # 存在しないディレクトリ指定の場合 RewriteRule適用 RewriteCond %{REQUEST_FILENAME} !^test$ # 追加。/test を除くURLなら RewriteRule適用 RewriteRule . /index.php [R=301,L]

投稿2016/10/21 12:58

suama

総合スコア1997

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiro-

2016/10/24 03:30

回答いただきありがとうございます。 参考ページありがとうございました。 質問する前に似た質問がないか確認していたつもりでしたが、しっかり探せていなかったようです。 お教えいただいた方法ですが、試したところ、やはりトップページに301でリダイレクトしてしまいます。 残したいページはテーマ内のpage-test.phpになるのですが、処理の仕方が変わったりするのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問