人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

.htaccessで

RewriteEngine on
RewriteBase /
RewriteRule (^.{1,5}$) http://hoge.com/index.php?param=$1

のように書いているのですが、
http://hoge.com/abc
にアクセスしたときに、アドレス欄に表示されるURLが
http://hoge.com/index.php?param=abc
に書き換わってしまいます。
http://hoge.com/abc
のままで表示するにはどうしたらよいのでしょうか。

●質問者: darsrock
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess ON URL アクセス アドレス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● toohigh
●27ポイント

RewriteRule (^.{1,5}$) http://hoge.com/index.php?param=$1

・・という質問者さんの書かれているルールが適用されてしまっているのが、直接の原因になります。

このルールを日本語で書くと、こんな感じになります。

FQDN/ の後ろに、1?5文字の任意の文字だけがある URL へのアクセスを index.php?param=(前述の1?5文字の任意の文字) 。に書き換える

例えば、/abc なものだけが例外扱いでよいのなら、既存のRewriteRule 行の直前にこんな感じの行を足せばよいかもしれません。

RewriteRule ^abc$ - [L]

もうちょっと一般的に、どのような URL を書き換えたくて、どのような URL は書き換えたくないのかを書かれるともっと良い答えが得られるかと思いますが、いかがでしょうか?


2 ● ito-yu
●27ポイント

3行目を

RewriteRule (^.{1,5}$) /index.php?param=$1

にしてください


3 ● b-wind
●26ポイント

RewriteRule (^.{1,5}$) /index.php?param=$1 [L]

とする。

http: から記述してしまうと、外部サイトと解釈されてリダイレクトされてしまう。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ