2011-12-28 6 views
0

私はColdFusion 9.0.1を使用しています。URL変数を評価して適切なページを判断する最善の方法はありますか?

Bikes.cfmとMakers.cfmをテンプレートページとして使用する新しいWebサイトがあります。 BikeIDとMakerIDを、これらのページの両方に、他の変数とともに渡すことができる必要があります。私はこのような、URL内の実際のページ名を使用したくない:

MyDomain.com/Bikes.cfm?BikeID=1234&MakerID=1234 

私は私のURLがより次のようになりたい:

MyDomain.com/?BikeID=1234&MakerID=1234 

私は、ページを指定しないでする必要がありますURLの名前。私は別のデータにアクセスするために、これらの2つのURLたい

:だから

MyDomain.com/?BikeID=1234&MakerID=1234 // goes to bike page 
MyDomain.com/?MakerID=1234&BikeID=1234 // goes to maker page 

をBikeIDがMakerID前に、URLに表示されている場合、Bikes.cfmページに移動します。 BikeIDの前にMakerIDが表示されている場合は、Makers.cfmページに移動します。

URLキーを適切なページを指すように配置する簡単で既存の方法はありますか?

URLをリストとして解析し、最初のIDを特定して適切なページに移動するだけでいいですか?より良い方法がありますか?

ご意見やご意見、ご感想があれば幸いです。

1)多くのプログラムは、URL
2に変数を追加する)いくつかのプログラムがあります -

UPDATEは、確かに、URLにパラメータの順序を使用すると、次のような理由で悪い考えがあることが表示されます変数の順序を変更してください
3)GoogleBotは関連する注文を考慮していない可能性があります。

私のアプローチはおそらく悪い考えであり、私が望む結果が得られないという肯定的なアドバイスをいただいた皆様に感謝します。私が望む結果を生み出すための代替手段を提案した皆様に感謝します。

肯定的な人があなたの肯定的なコメント/アドバイスを回答したいと思っている人は、答えとして受け入れることができます。全体的なアイデアについての私のお墓の不安にもかかわらず

+3

はなぜ世界であなたは、このようなだろうもの? URL変数の順序を関連する考慮事項として実際に扱う体系について聞いたことはありません。狂ったように聞こえる。 –

+0

BikeIDが最初の場合は、リクエストされたプライマリが自転車に乗っていることを意味します。そのため、Bikes.cfmに移動します。 BikeIDに続いてMakerIDがある場合、自転車が主要な焦点であり、メーカはセカンダリフォーカスです。 MakerIDが最初の場合は、バイクメーカーに要請が集中しているので、Makers.cfmに持ち込まれます。 BikeIDがある場合は、自転車を特定の自転車に興味があることがわかるので、自転車を自転車のリストの一番上に置きます。 –

+1

これは確かにあなたをかむために戻ってくるだろう。 URL文字列のパラメータの順序がどうなるかはわかりません。最低でも、ロードするページを明示的に指定するパラメータを追加する必要があります。それは複雑である必要はありません。 'q = b'(「自転車」ページを示すために)のようなもので十分でしょう。それでは、URLパラメータの順序について心配する必要はありません。 – ale

答えて

1

は、ここで私がそうすることを余儀なくされた場合、私はそれを行うだろう方法は次のとおりです。

index.cfmに:

<cfswitch expression="#ListFirst(cgi.query_string, '=')#"> 

    <cfcase value="BikeID"> 
    <cfinclude template="Bikes.cfm"> 
    </cfcase> 

    <cfcase value="MakerID"> 
    <cfinclude template="Makers.cfm"> 
    </cfcase> 

    <cfdefaultcase> 
    <cfinclude template="Welcome.cfm"> 
    </cfdefaultcase> 

</cfswitch> 
+0

「重大な不安」?本当に?それでも、あなたはなぜそれが悪い考えかもしれないか言及するのは気にしませんでした。 –

+4

他の人がコメントしているように、URLパラメータの順序は決して考慮されません。これは、さまざまなWebサーバーがクエリ文字列をURL文字列に自動的に追加する処理方法に起因します。経験則として、アプリケーションロジックには、通常、常に特定の順序であることを期待して構築する必要はありません。 –

+0

ありがとうShawn - あなたは私の考えをよく表しました。 –

関連する問題