※ ChatGPTを利用し、要約された質問です(原文:htaccessのリライトとエラーページ)
htaccessのリライトとエラーページ
このQ&Aのポイント
.htaccessのリライトとエラーページについて
htaccessでリライトの設定やエラーページの指定をしているが、一部うまく動作していない
URLの短縮やcgiの階層指定を変更してみたがダメで、エラーページの一部も通常のページが表示されてしまう
.htaccessのリライトとエラーページについて
.htaccessでリライトの設定をしているのですが、うまくいかない部分があります。
まずwww無しでのアクセスは全てwwwありへ変更しています。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^○○○.biz [NC]
RewriteRule ^(.*)$ http://www.○○○.biz/$1 [L,R=301]
上記は正常に動作しています。
次は設置しているcgiのURLの設定をしています。
RewriteRule search/(.*) cgi/search/$1 [L] ##正常に動作
RewriteRule ^search/([0-9]+)$ cgi/search/navi.cgi?mode=kt&kt=$1
RewriteRule ^search/([0-9]+)/$ cgi/search/navi.cgi?mode=kt&kt=$1
残りの2つがうまく動作していません。
本来のURLが下記なので
http://www.○○○.biz/cgi/search/navi.cgi?mode=kt&kt=01
↓こちらでアクセスしてみると
http://www.○○○.biz/search/01
404 ページが見つかりません
http://www.○○○.biz/search/01/
500 サーバーエラーが表示されてしまいます。
正常に動作している方でURLを短縮しているのでcgiの階層指定をやめてみましたがダメでした。
RewriteRule ^search/([0-9]+)/$ search/navi.cgi?mode=kt&kt=$1
またエラーページを指定しているのですが、403と404は動作していますが500が通常のページが表示されてしまいます。(401は未確認)
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html
色々と調べましたが何がいけないのか分からず手詰まり状態です。
お手数ですがご回答頂けると幸いです。
お礼
回答ありがとうございます。