2011-07-07 14 views
0

私が探しているのは、http://mydomain.com/1a3b5cとし、それをhttp://mydomain.com/page?id=1a3b5cにリダイレクトし、可能であればブラウザのアドレスバーにmydomain.com/1a3b5cのままにしておきます。これが不可能な場合は、単純なリダイレクトは問題ありません。これは、WebサーバーとしてApacheを使用してのmod_rewriteを有効にしていると仮定しているhtaccessリダイレクトを行うためにurl-pathを取得するにはどうすればよいですか?

RewriteRule ^([a-zA-Z0-9]+)$ /page?id=$1 [L] 

:あなたは一般的に「クリーンなURL」と呼ばれていることに興味があると、このように行われている何

答えて

3

元の表示可能なURIが保持されます。

これは、あなたの正確なニーズに基づいて変更する必要があるかもしれませんが、これはどこへ行くのかの一般的な方向を与えるはずです。

+0

おかげで、私もthis' <ファイルの.htaccess> 注文ができるように見つけ、 するRewriteRule ^(\ワット+)$ ./sort上 オプション+ FollowSymLinksを RewriteEngineを拒否だと思います?id = $ 1' – SReca

+0

ええ、それは素晴らしいです。そのタグは何もしていません。 FollowSymLinksはそこにあるのが良い習慣ですが、RewriteEngine Onは時には何かを動作させるために必要なことがあり、RewriteRuleは私よりも幾分エレガントです(緩やかですが、おそらく良い方法です)。私はあなたが見つけたものを使うでしょう。私が投稿したものは私のサーバー上で使用されていてうまく動作しますので、問題に遭遇した場合の基本的なフォールバックとなります。 – arkigos

2

ウェブサーバーがApacheの場合は、Mod Rewriteを使います。このような何か私が

RewriteCond %{HTTP_HOST} ^mydomain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ 
RewriteCond %{REQUEST_URI} !^/page\? 
RewriteRule (.*) page=$1 
関連する問題