2012-02-25 9 views
1

私は自分自身を非常に誇りに思っていました。なぜならヘルプを求めずに.htaccessファイルを更新する方法を実際に考え出したからです。ここで .htaccessの書き換えを使って作業をしようとしています

は、私が追加何..やってき www.my

domain.com/albums/en/music/beatles/しかし、その後:に私のリンクを変換するために働いていた

RewriteRule albums/(.*)/(.*)/(.*)/ albums.php?language=$1&searchindex=$2&searchparameterdata=$3 

改ページと私は再び困惑します。私の次のページをクリックすると、それは今、このような..

beatles/?language=en&locale=us&page=2&searchindex=music&searchparameter=keywords&searchparameterdata=beatles& 

のように上記のURLに付加し、これは私の作業のURLの形式を維持し、まだページネーションの仕事をさせる..私は私の.htaccessに修正することができるものですか?

答えて

1

私はあなた自身がそれを難し​​くしていると思います。なぜすべてのパラメータを1つのパラメータに送り、phpが何をするべきかを決めるのはなぜですか?あなたのPHPの

RewriteRule albums/(.*) albums.php?parameters=$1 [L] 

そして::;)

+0

parse_str($_GET['parameters], $parameters); do_stuff($parameters['searchindex'], $parameters['page'], ...); 

いいと簡単:)

チェックアウトparse_str()のマニュアルのhttp://php.net/manual/en/function.parse-str.phpを、do_stuff()が明らかに考案され、これを試してみてくださいああwow ..どのような素晴らしいアイデア!本当にありがとう!これが答えです! – jeffro

0

QSAフラグをRewriteRuleに追加できます。

RewriteRule albums/(.*)/(.*)/(.*)/ albums.php?language=$1&searchindex=$2&searchparameterdata=$3 [QSA] 

また、ページネーションリンク自体を確認することもできます。私の推測は、クエリ文字列は実際にはページングhrefの一部です。その場合、mod-rewriteでクエリ文字列を削除する簡単な方法は考えられません。 hrefに必要なクエリ文字列のパラメータのみが含まれるように、ページネーションリンクを変更する必要があります。この場合、必要なクエリ文字列パラメータはpage=2部分のみです。

関連する問題