Войти

Показать полную графическую версию : Проблема с преобразованием в mod_rewrite


trnovm
11-04-2008, 11:42
Имеется проблема: есть сайт http://site.ru. Пользователь вводит адрес вида

http://site.ru/x.php (при навигации по разделам), он преобразуется в
http://site.ru/index.php?a=x,
либо адрес вида http://site.ru/x.y.php преобразуется в

http://site.ru/index.php?a=x&b=y.
Вот код преобразования для второго случая с двумя передаваемыми параметрами:

RewriteEngine On
RewriteBase /
Options FollowSymLinks

RewriteRule ^([a-z]+)\.([0-9]+)\.php$ index.php?a=$1&b=$2

Теперь надо как я понимаю, с помощью RewriteCond проверку количества передаваемых параметров и в зависимости от результата выполнять соотв.преобразования, т.е.

RewriteEngine On
RewriteBase /
Options FollowSymLinks

RewriteCond если_передается_один_параметр
RewriteRule код_преобразования

RewriteCond если_передаются_два_параметра
RewriteRule ^([a-z]+)\.([0-9]+)\.php$ index.php?a=$1&b=$2

Сам я пока новичок, и допереть не могу. А сайт на работе уже два дня в ауте. Помогите!

Sham
11-04-2008, 20:34
RewriteRule ^([a-z]+)\.([0-9]+)\.php$ index.php?a=$1&b=$2 »
RewriteRule ^([a-z]+)(\.([0-9]+))?\.php$ index.php?a=$1&b=$3
в первом случае тогда 'b' дб пустой (но определена)... (не знаю, как там скрипт проверяет)...




© OSzone.net 2001-2012