0

私が行くとき:

https://sitedomain/product-name-p-1106.html?ref=facebook&keyw=pagetype0:friends

URL は次のように変わります。

https://sitedomain/product-name-p-1106.html?keyw=pagetype0friends&ref=facebook

基本的に、$ref変数と$keyw変数は逆になります。なぜこれが起こっているのですか、どうすればそれを止めることができますか?

注:私は、他の誰かが書いた $ref 、次に $keyw の順序にある​​ことに依存するスクリプトを使用しようとしています。そのスクリプトを変更しないように、それらをその順序に保ちたいと思います。

.htaccess ファイルである可能性があると思いますが、確かではありません。そのファイルは次のとおりです。

RewriteBase / 
RewriteRule ^([a-z0-9/-]+)-p-([0-9]+).html$ product_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-c-([0-9_]+).html$ index.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-m-([0-9]+).html$ index.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-pi-([0-9]+).html$ popup_image.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-pr-([0-9]+).html$ product_reviews.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-pri-([0-9]+).html$ product_reviews_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-t-([0-9_]+).html$ articles.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-au-([0-9]+).html$ articles.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-a-([0-9]+).html$ article_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-i-([0-9]+).html$ information.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-links-([0-9_]+).html$ links.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-n-([0-9]+).html$ newsdesk_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-nc-([0-9]+).html$ newsdesk_index.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-nri-([0-9]+).html$ newsdesk_reviews_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9/-]+)-nra-([0-9]+).html$ newsdesk_reviews_article.php [NC,L,QSA]
4

3 に答える 3

2

これらは名前付きのパラメーターであり、特定の順序は必要ありません。特定の順序付けに依存している場合は、コードで根本的に間違ったことを行っています。

于 2013-02-14T19:30:22.460 に答える
0

$_GET 変数は、$_GET を求めてインデックスを露骨に無視しない限り、順序に依存するべきではありません。また、MOD_REWRITE は、ブラウザ側で URI の順序を変更するのではなく、サーバー側で順序/割り当てを変更するだけです。

他の人が言ったように、順序がそれほど重要である場合、何かが非常に間違っています。その場合、個々の $_GET 値ではなく、区切り文字列として値を渡します。

このスクリプトを書き直すのは「したくない」と思いますが、他の誰かが言ったように、他に何が間違っているのか考えてみてください。さらに、このような障害点が本当に必要ですか?

于 2013-02-14T20:17:39.713 に答える
0

ここで得られるメッセージは次のとおりです。

URL パラメータの順序に依存するコードを作成または使用しないでください

于 2013-02-14T20:06:48.620 に答える