Перезапись URL с 3 переменными - PullRequest
0 голосов
/ 19 апреля 2011

Я хочу переписать URL моей веб-страницы.На той же странице возможно 2 вида ссылок:

Разбиение на страницы: http://www.xxxxx.com/dictionnaire.php?page=4 Что я хочу, чтобы выглядело так: http://www.xxxxx.com/dictionnaire/p4

Слово: http://www.xxxxx.com/dictionnaire.php?idW=675&word=Resto-basket То, что я хочу выглядеть так: http://www.xxxxx.com/dictionnaire/675/Resto-basket

В .htaccess у меня есть следующее:

RewriteRule    ^dictionnaire/p([0-9]+)?$    dictionaire.php?page=$1    [NC,L]    
RewriteRule    ^dictionnaire/([0-9]+)/([a-z])?$    dictionaire.php?idW=$1&word=$2   [NC,L]

ВОПРОСЫ:

  1. Это лучший способ сделать это с помощью Google?(в основном для ссылки на слово, или там лучше?)
  2. Можете ли вы иметь 2 правила перезаписи для одной ссылки?Как и выше?
  3. Есть ли ошибка в моем коде, пожалуйста, помогите.
  4. Когда я создавал этот код, мои CS и изображения не появлялись.Можете ли вы помочь мне исправить это?

Я знаю, что это длинный вопрос, но я думал, что так будет проще.

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 19 апреля 2011
  1. Это лучший способ сделать это с помощью Google?(в основном для ссылки на слово, или там лучше?) Что ж, вы могли бы поместить page4 в раздел Pagination, иначе это не сильно повлияет.Для страницы Word, почему вы находите слова по идентификаторам вместо фактического слова?слово = (СЛОВО), похоже, вообще ничего не делает.Возможно, полностью удалите идентификатор и попросите его выполнить поиск по слову, чтобы вместо него можно было использовать словарь / слово / (WORD).
  2. Можете ли вы иметь 2 правила перезаписи для одной ссылки?Как и выше? Да, вполне возможно иметь более 2 правил перезаписи (подумайте на многих форумах, которые делают это)
  3. Есть ли ошибка в моем коде, пожалуйста, помогите. Я не выглядел пристально, но, похоже, никаких ошибок.
  4. Когда я создавал этот код, мои CS и изображения не появлялись.Можете ли вы помочь мне это исправить? Проблема здесь в том, что он ищет /dictionnaire/p4/css.file.css для вашего файла CSS.Он не выглядит в вашем корневом каталоге, как я полагаю, вы хотите.Поместите прямой корень в ваш файл CSS, начиная с / в начале.
0 голосов
/ 19 апреля 2011
  1. Это должно быть "дружественным Google".
  2. Да, правила перезаписи применяются по порядку;как только один из них совпадет с URL-адресом и заменит его, маловероятно, что другие будут совпадать (поскольку они будут работать с замененным URL-адресом предыдущего).
  3. Мне кажется, все в порядке.Однако вы можете превратить это в одно правило, если разрешите, чтобы целевые URL-адреса немного отличались (чтобы оба использовали page = вместо idW = во втором).
  4. Это потому, что браузер будет запрашивать ресурсыотносительно не переписанного URL (он, конечно, не знает о том, что происходит за кулисами).Вам придется использовать абсолютные URL-адреса для ваших изображений и CSS (или, альтернативно, использовать ../ в URL-адресах или добавить дополнительные правила перезаписи для ваших ресурсов, чтобы они работали).

Надеюсьпомогает.

РЕДАКТИРОВАТЬ: Извините, потому что у вас есть [L] в конце ваших правил, он перестанет пытаться соответствовать другим правилам, как только он соответствует одному.Это не будет иметь никакого практического эффекта в этом случае.

...