2012-03-01 4 views
0

私は.htaccessの.htaccessリンクにGET変数を含めますか?

RewriteRule ^register.html$ ?page=register 

次、私はそれが動作しますが、通常は以下を要求jqueryのAJAX機能を持っています。私は

www.blabla.com/#!kayit.html&module=ajax [HTTP/1.1 404 Not Found 114 ms] 

がどのように私はこの問題を解決することができます。htaccessファイル、任意のアイデアとそれを使用するときに

www.blabla.com/#!?page=register&module=ajax 

しかし、それはのは、盗聴ますか?

+1

あなたのRewriteRuleはどちらの要求とも一致しません。多分それは問題ですか? – tdammers

+0

どうすれば一致させることができますか? $ module = ajaxは、ajaxリクエストがループするのを防ぐためのヌルです。 – Aristona

答えて

1

あなたは、単にすることはできません。フラグメント識別子(ハッシュ記号の後のテキスト)をパス(ajax-yウェブサイトの通常の手順)として使用していますが、フラグメント識別子はサーバーに到達しません。 サーバーにajaxリクエストを作成し、その内容を確認する必要があります。

実際の質問は、GET変数と書き換えルールを既に用意されているものとマージする方法です。

あなたの例では、URL register.html?var=1?page=register&var=1にリダイレクトするとします。

RewriteRule ^register.html$ ?page=register [qsappend] 

ドキュメント:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriteflags

+0

ハッシュタグは、Twitterで物事を分類するシステムです。 URI内のハッシュ記号は、フラグメント識別子の開始を示します。 – Quentin

+0

これは正しいです。ハッシュタグを作成して変更することで、ajax-y環境でURLをシミュレートします。しかし、実際にはハッシュタグはサーバーに送信されません。ハッシュタグの内容を取り出し、javascriptで解析し、サーバーに実際のURLでajaxリクエストを行い、受け取った内容をページに含める必要があります。しかし、 "URLを取得してajaxリクエストを行う"という部分をスキップすることはできません。 – apfelbox

+0

それは働いた。 qsappendを使うときに気をつけるべきことがありますか? – Aristona

0

フラグメント識別子:

  1. は完全にクライアント側を処理され、クライアントから送信されることはありませんあなたはqsappend(クエリ文字列APPEND)フラグを追加することによってそれを行うことができますサーバーに
  2. 末尾に表示する必要があります。の後にURIのが表示されます。 y文字列
関連する問題