アプリ版:「スタンプのみでお礼する」機能のリリースについて

URLのリダイレクトに関する質問です。

http://hoge.hogera.org/12345.html

にアクセスした時に

http://hoge.hogera.org/hoge.html?id=12345

を実行させるために

ewriteEngine on

RewriteRule ^([0-9)]+)\.html$ hoge.html?id=$1[R=301,L]

としています。

実際にこれで問題なくhttp://hoge.hogera.org/hoge.html?id=12345にアクセスできます。

この時、ブラウザーで表示させるURLもhttp://hoge.hogera.org/hoge.html?id=12345

となってしまうのですが、これはもとのURL

http://hoge.hogera.org/12345.html

とするにはどうすればよいでしょうか?

A 回答 (3件)

> Lだけにすると


> Error 404 - Not Found
> となります。

RewriteBase /

は設定していますか?

(この「/」は、hoge.html のURLのパス部分です。
http://hoge.hogera.org/hogehoge/hoge.html だったら、RewriteBase /hogehoge/ になります)

この回答への補足

再回答ありがとうございます。

> RewriteBase /
> は設定していますか?

設定されていなかったので設定しました

RewriteEngine on
RewriteBase /
RewriteRule ^([0-9)]+)\.html$ hoge.html?id=$1 [L]

ですが、

Error 404 - Not Found

となります。

補足日時:2010/04/22 19:34
    • good
    • 0

R=301は、「301」=「Moved Permanently」=「URLが変更になった」を意味し、


Rフラグを付けることで、ブラウザに表示されるURLも新しいものに変わるようになります。


表示URLを変えたくない(サーバ内部で処理させたい)場合は、Rフラグは付けずに

RewriteRule ^([0-9)]+)\.html$ hoge.html?id=$1[L]

にしてください。

この回答への補足

Lだけにすると

Error 404 - Not Found

となります。

補足ですが hoge.htmlはphpとhtmlが混在しています。

補足日時:2010/04/22 18:54
    • good
    • 0

[R=301,L]



[L]

この回答への補足

Lだけにすると

Error 404 - Not Found

となります。

補足ですが hoge.htmlはphpとhtmlが混在しています。

補足日時:2010/04/22 18:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!