質問: ### 前提・実現したいこと .htaccessで302リダイレクトをしたいのですが、 ディレクトリを指定し、そのページへのリダイレクトは成功するのですが、 それ以下の階層のページには404エラーが出てしまいます。 リダイレクトしたいページは、トップページです。 ### 発生している問題・エラーメッセージ example_shitanokaisou(サンプルなので適当な名前です)にアクセスしたら、 → http://www.example.co.jp(トップページ)に行かせたいのですが、 example_shitanokaisou/example2 などのexample_shitanokaisouより下の階層にあるページに アクセスすると、トップページにいかず、 http://www.example.co.jp/example2 のような遷移をしてしまいます。 ### 該当のソースコード RewriteRule ^example_shitanokaisou.* http://www.example.co.jp [R=302,L] ### 試したこと .htaccessをトップの階層に置いたり、 example_shitanokaisouの階層に置いたりしてみましたが 変わらずです。 ### 補足情報(言語/FW/ツール等のバージョンなど) 分かり辛い説明ですみません。 質問などありましたら遠慮なく。 302と書きましたが301の方がよいのでしょうか(SEO的に。) ### 追記(.htaccessの内容) RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # uploaded files RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L] RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L] RewriteRule . index.php [L] #Added on 20161104-001151 by ControlPanel Action application/x-httpd-php /global-bin/php-5.4.cgi RewriteRule ^example_shitanokaisou.* http://www.example.co.jp [R=302,L]
回答: rewriteしまくってるテストサーバーに1行加えてみましたが・・・・ ``` RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^example_shitanokaisou.* http://example.com/ [R=302,L] ``` これら全部入っているでしょうか? ためしにrewrite環境にほぼコピペで入れたら、お望みの動作をしたような感じがしましたが。