Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mod_rewrite, помогите убить слэш 
:(
    Опции темы
abibok
Дата 3.12.2010, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



Здравствуйте.

Имеется сайт, на котором ссылки
site.ru/game.php?id=43
site.ru/game-43
показывают одно и то же.

Реализовано это было так:
RewriteRule ^game-([0-9]+)$ game.php?id=$1 [L]

Было решено 
site.ru/game-43
изменить на
site.ru/game/43
и
site.ru/game/43/
, и чтобы ссылка site.ru/game-43 редиректила на site.ru/game/43

Было сделано так:

RewriteRule ^game/([0-9]+)([/]?)$ game.php?id=$1 [L]
RedirectMatch 301 ^/game-(.*)$ http://site.ru/game/$1

На домашней машине все работало как надо.

А вот на сервере
http://site.ru/game/11/    все ок
http://site.ru/game/11    адрес преобразовывается в http://site.ru/game/11/?id=11 но страница отображается корректно
http://site.ru/game-11    адрес преобразовывалтся в http://site.ru/game/11/?id=11 но страница отображается корректно

?id=11 - не нужен.

Переписал так:

RewriteRule ^game/([0-9]+)/$ game.php?id=$1 [L]
RedirectMatch 301 ^/game-(.*)$ http://site.ru/game/$1

Теперь

http://site.ru/game/11/ все ок
http://site.ru/game/11    адрес преобразовывается в http://site.ru/game/11/
http://site.ru/game-11    адрес преобразовывается в http://site.ru/game/11/

Подскажите, как сделать чтобы в случае http://site.ru/game/11 в конце не добавлялся слэш.

p.s. возможно это имеет значение, на сервере есть каталоги типа /game/11/.


PM MAIL   Вверх
Icaros
Дата 9.12.2010, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 26.5.2006

Репутация: нет
Всего: нет



Добрый день.

Есть подозрение, что для url`а http://site.ru/game/11 правило ^game/([0-9]+)/$ не сработает, т.к. не хватает указанного обязательным символа "/" в конце запроса. В таком случае сервер находит каталог /game/11/ и выполняет redirect в корень этого самого каталога.  Но это если я не сильно сегодня обкурился и ничего не напутал... 

Попробуйте указать правило ^game/([0-9]+)$ или ^game/([0-9]+)/?$
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0799 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.