Гриша К.
Новичок
mod_rewrite, cсложности при пошаговом разборе ссылки /catalog/59/product/5/
Здравствуйте.
При помощи mod_rewrite преобразовываю следующие ссылки (htpp://localhost/catalog/):
# 1 # /catalog/59/ => /catalog/?catid=59
# 2 # /catalog/59/product/5/ => /catalog/product.php?catid=59&productid=5
Настройки .htaccess делаю следующими
# 1 # RewriteRule ^([^/]*)/(.*)$ /catalog/?catid=$1&x=$2 [L,QSA]
# 2 #RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?(.*)$ /catalog/$2.php/?catid=$1&productid=$3 [L,QSA]
Проблемы:
Строчка # 2 # работает (в конце можно убирать слэш, или после слэша может быть что угодно), если нету строчки # 1 #, иначе срабатывает ссылка # 1 #.
Ссылка # 1 # работает только если в конце есть /, т.е. регулярное выражение ^([^/]*)/?(.*)$ - не срабатывает
Подскажите пожалуйста как правильно объеденить эти два регулярных выражения (1 и 2), чтобы работали ссылки (и необязательно со / на конце):
/catalog/
/catalog/59/
/catalog/59/product/
/catalog/59/product/5/
Здравствуйте.
При помощи mod_rewrite преобразовываю следующие ссылки (htpp://localhost/catalog/):
# 1 # /catalog/59/ => /catalog/?catid=59
# 2 # /catalog/59/product/5/ => /catalog/product.php?catid=59&productid=5
Настройки .htaccess делаю следующими
# 1 # RewriteRule ^([^/]*)/(.*)$ /catalog/?catid=$1&x=$2 [L,QSA]
# 2 #RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?(.*)$ /catalog/$2.php/?catid=$1&productid=$3 [L,QSA]
Проблемы:
Строчка # 2 # работает (в конце можно убирать слэш, или после слэша может быть что угодно), если нету строчки # 1 #, иначе срабатывает ссылка # 1 #.
Ссылка # 1 # работает только если в конце есть /, т.е. регулярное выражение ^([^/]*)/?(.*)$ - не срабатывает
Подскажите пожалуйста как правильно объеденить эти два регулярных выражения (1 и 2), чтобы работали ссылки (и необязательно со / на конце):
/catalog/
/catalog/59/
/catalog/59/product/
/catalog/59/product/5/
mod_rewrite - это, действительно, не PHP, блин... 