Перейти к публикации

Рекомендованные сообщения

Что неверного в этой строке?

RewriteRule ^files/alpha/([^/]*)(/?)+$/page(.*)/ index.php?do=files&op=alpha&word=$1&cstart=$2	[L]

Надо получить ссылку вида

site.ru/files/alpha/L/page2/

Ссылка на сообщение
Поделиться на других сайтах

Вопрос. Как быть с русскими буквами? ведь ссылка

http://www.fmnokia.net/files/alpha/О

не работает.

а

http://www.fmnokia.net/index.php?do=files&...ha&word=%CE

идёт на ура.

Причём так формируется ссылка. Если без модреврайта то поулчаем на конце не О а %СЕ

Ссылка на сообщение
Поделиться на других сайтах

RewriteRule ^files/alpha/([А-ЯA-Z]+)/page([0-9]+)(/?)$ index.php?do=files&op=alpha&word=$1&cstart=$2 [L]

это ж основы регулярных выражений, как ты модули пишешь, удивляюсь)

Изменено пользователем lifestar
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Добрый. Ещё вопрос по ЧПУ

RewriteRule ^files/([^.]+)/([0-9]+)-(.*).html(/?)+$ ndex.php?do=files&op=download&fileid=$2 [L]

Пишет что страница не найдена.

Ссылка

_http://localhost/site/files/22-noumena-innovations-wwii-africa-campaign-v1.10-os7.html

PS как я понял почему-то пытается загрузить новость с ID 22

Изменено пользователем Snake
Ссылка на сообщение
Поделиться на других сайтах

/site/files/

Имеется в виду, что указать полый путь к сатйу и /files/ ? http://www.site.ru/files? Если так, то это плохой вариант.

сделал так

RewriteRule ^files/(([1-9][0-9]*)+)_(.*).html(/?)+$ index.php?do=files&op=download&fileid=$2 [L]

Вроде работает. Но всё равно конфликтует с новостями.

Изменено пользователем Snake
Ссылка на сообщение
Поделиться на других сайтах

(([1-9][0-9]*)+)
что-то новое))
RewriteRule ^files/([0-9]+)-(.*).html(/?)+$ index.php?do=files&op=download&fileid=$1 [L]

чем не устраивает?

Ссылка на сообщение
Поделиться на других сайтах

При таком раскладе открываются новости, а не файлы. Т.е. files/ почему-то не обрабатывается.
а всё потому, что не понимаем что пишем и делаем "по аналогии". Да, разработчики?)) [L] означает, что если правило совпало, то правила ниже игнорируется. Соответственно конкретные правила должны стоять выше "общих".

Объясняю на пальцах.

Имеем урл - http://lifestar.ru/files/22-noumena-innova...-v1.10-os7.html

Это урл попадает под 2 правила (одно от модуля файлов и одно от движка ДЛЕ)

1.

RewriteRule ^files/([0-9]+)-(.*).html(/?)+$ index.php?do=files&op=download&fileid=$1 [L]
2.
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]

Если правило 2 будет стоять выше правила 1 - то скрипт будет думать что нам нужны новости.

Понятно в чём косяк? ;)

Изменено пользователем Александр Медведев
Ссылка на сообщение
Поделиться на других сайтах

это ж основы регулярных выражений, как ты модули пишешь, удивляюсь)

Так они и такие получаются..)) Смотрел первые версии архива, про новые не знаю.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...