Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: mod_rewrite etc.
Показать сообщение отдельно

Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
если чего не так, скажи...
Sham спасибо Вам большое дорогой Шам! Вы лутший, смотрите, всего несколько мелочей:

- две решотки в одной строчки для парсера конфига опасно серверу)
- зачем разбивать на два файла - для корня и рабочей директории?
- вот этот код вообще мне кажется излишен:
Код: Выделить весь код
RewriteEngine On
RewriteRule ^(k9|k10|k11)(.*)$ k3$2 [L]
- а вот тут к сожелению то, что справо от урла не будет работать как переменная со значением:
Код: Выделить весь код
RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)((\&.+)*)$
RewriteRule ^send\.php$ send.php?page=%1&value=97%2 [L]
кроме того, дефис в переменной page после обработки модулем может пропасть вместе с последующей цифрой и доллар не будет учитываться (лишние 2 байта)
- и еще, лишняя проверка на директорию:
Код: Выделить весь код
RewriteCond %{THE_REQUEST} \/k9\/
- если одна из переменных не передается и вовсе редирект также не будет реализован



Я реализовал это вот в таком виде:
Код: Выделить весь код
RewriteEngine On
#
#-------
#--- k9
#-------
RewriteCond %{QUERY_STRING} value\=1
RewriteCond %{QUERY_STRING} lang\=ru
RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*)
RewriteRule ^k9/send.php$ k3/send.php\?value\=101\&page\=%1%2%3\&lang\=ru [L]
#
RewriteCond %{QUERY_STRING} value\=1
RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*)
RewriteRule ^k9/send.php$ k3/send.php\?value\=101\&page\=%1%2%3 [L]
#
RewriteCond %{QUERY_STRING} value\=1
RewriteRule ^k9/send.php$ k3/send.php\?value\=101 [L]
#-------
#--- k10
#-------
RewriteCond %{QUERY_STRING} value\=1
RewriteCond %{QUERY_STRING} lang\=ru
RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*)
RewriteRule ^k10/send.php$ k3/send.php\?value\=111\&page\=%1%2%3\&lang\=ru [L]
#
RewriteCond %{QUERY_STRING} value\=1
RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*)
RewriteRule ^k10/send.php$ k3/send.php\?value\=111\&page\=%1%2%3 [L]
#
RewriteCond %{QUERY_STRING} value\=1
RewriteRule ^k10/send.php$ k3/send.php\?value\=111 [L]
считайте это проверкой и считайте, что Вы ее прошли

с огромным уважением!

-------
Основы HTML | Конференции


Отправлено: 03:36, 18-08-2006 | #72

Название темы: mod_rewrite etc.