Есть ли лучший способ оценить переменные URL, чтобы определить соответствующую страницу? - PullRequest
0 голосов
/ 28 декабря 2011

Я использую ColdFusion 9.0.1.

У меня есть новый веб-сайт, который использует Bikes.cfm и Makers.cfm в качестве шаблонных страниц. Мне нужно иметь возможность передавать BikeID и MakerID на обе эти страницы вместе с другими переменными. Я не хочу использовать фактическое имя страницы в URL, например:

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

Я хочу, чтобы мой URL выглядел так:

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

Мне НЕ нужно указывать имя страницы в URL.

Я хочу, чтобы эти два URL-адреса обращались к разным данным:

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

Итак, если BikeID появляется в URL-адресе перед MakerID, перейдите на страницу Bikes.cfm. Если MakerID появляется перед BikeID, перейдите на страницу Makers.cfm.

Существует ли простой и существующий способ упорядочить ключи URL таким образом, чтобы они указывали на соответствующую страницу?

Должен ли я просто проанализировать URL-адрес как список, определить первый идентификатор и перейти на соответствующую страницу? Есть ли лучший способ?

Будем благодарны за любые мысли, намеки или идеи.

ОБНОВЛЕНИЕ - Очевидно, что использование порядка параметров в URL является плохой идеей по следующим причинам:

1) многие программы добавляют переменные к URL
2) некоторые программы могут переупорядочивать переменные
3) GoogleBot может не посчитать релевантным порядок и, скорее всего, будет неправильно индексировать сайт

Спасибо всем, кто дал положительный совет, что мой подход, вероятно, был плохой идеей и не дал желаемых результатов. Спасибо всем, кто предложил альтернативные средства для получения желаемых результатов.

Если кто-нибудь из вас, положительных людей, хотел бы поставить ваш положительный комментарий / совет в качестве ответа, я был бы рад принять его в качестве ответа.

1 Ответ

1 голос
/ 28 декабря 2011

Несмотря на мои серьезные опасения по поводу всей идеи, вот как бы я это сделал, если бы меня заставили это сделать:

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...