ここから本文です

index.htmlを.htaccessで、b.cgi(CMSを組み込んでいるトップページ)へリダイレク...

kuc********さん

2011/7/2617:07:39

index.htmlを.htaccessで、b.cgi(CMSを組み込んでいるトップページ)へリダイレクトしてます。クライアントからの希望でURL表示をindex.htmlにしてほしいと言われました。

あるサイトを作成してるのですが、都合上index.htmlのアクセスを全てb.cgiというファイルにリダイレクトさせてます。
クライアントの顧客等がブックマーク等をする時に正規のURLでないものが保存されるのは困るとの事で、
今回質問させていただいております。
(個人的には別にいいんじゃないかと思っておりますが)

そこで、リダイレクト前のURLをリダイレクト後のURLに代替することはできるのでしょうか?

SSIでできるはずと言われたのですが、良く分かりません。
.htaccessで解決できるならそうしたいのですが、何か方法はございますでしょうか?

よろしくお願いいたします。

補足ご回答ありがとうございます。
返信ができませんので、補足で失礼いたします。
yc_allabout_miyinoue様のやり方で試して見ましたが、
index.htmlファイルそのものが表示されてしまいます。
ご参考までに、現状リダイレクトさせてる.htaccessの書き方は
Redirect permanent /index.html /cgi-bin/b.cgi
です(CGIは全てcgi-binディレクトリにございます)
色々試してみてるのですが、悩み中です。

閲覧数:
377
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

編集あり2011/7/2818:10:22

.htaccess で設定しているという事は、
RewriteRule ...
という設定を書いているという事ですよね?

末尾に角カッコ [ ] に入って R という指定があると思いますが([R,L] など)、このRを削除するとリダイレクトではなくアクセスされたURLをそのまま使用する事ができます。

例)
RewriteRule index_test.html b.cgi [L]

ただし、CGIの仕様によっては、CGIの方がうまく動作するか分からないので、予め上記のように別のファイル名でテストして下さい。

=============
【補足へのご回答】

失礼しました。使用している記法が違ったのですね。
.htaccess は トップページと同じ階層にあると考えてよろしいでしょうか?(違っていたらまた補足して下さい。)

先ほどの例は消して、ファイルの最後に以下を追加してみて下さい。

-------ここから

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /
RewriteRule ^index_test.html$ cgi-bin/b.cgi [L]

</IfModule>

-------ここまで

index_test.html で CGI のページが表示されるかご確認下さい。
うまく行けば、ファイル名を index.html に変更すればOKです。

質問した人からのコメント

2011/7/28 18:24:10

降参 yc_allabout_miyinoue様
ご回答ありがとうございました。
無事解決いたしました!助かりました!
CGI環境(NEWS等の更新ツール用です)は試しきれてないので、
不具合あるかもしれませんが、取り急ぎこちらで大丈夫そうです。
もし不具合が出たら、また知恵袋で質問します(笑)
まだまだ勉強不足のようです。
本当にありがとうございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる