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

iceman

говнокодер
немогу составить рег.выражение!

для файла .htaccess
пытась составить выражение

RewriteRule ^files/([0-9]{0,4})(?:/?|/(download))$ go_file.php?id=$1&$2&$3 [QSA]
хочу сделать ссылки вида:
http://sait.ru/files/1
http://sait.ru/files/1/
http://sait.ru/files/1/download
http://sait.ru/files/1/download/

и как можно упрастить это выражение?

-~{}~ 11.03.07 12:23:

и еще структура (?:подвыражение) работает ли в таких файлах?

-~{}~ 11.03.07 12:41:

чтобы получитть ссылку вида http://sait.ru/files/1/

я на конце поставил '/?' ... она может быть, а может и не быть

но теперь после последнего слэша, может идти слово download

и мне нада, если download идет то / вставлялся
а если - нет, то / мог бы быть либо нет...

без использования RewriteCond это возможно?

-~{}~ 11.03.07 12:49:

получается все, если не использовать (?:подвыражение)
но в итоге появляются 3 переменных $1, ..., $3

а как получить 2?
 

iceman

говнокодер
а хвост тебе действительно нужен?
да, это идентификатор того, что пользователь хочит скачать этот фаил..

RewriteEngine On
RewriteRule ^files/([0-9]{0,4})(/?|/download/)$ go_file.php?id=$1&tail=$2[QSA]
я ступил, в моем случае download была переменной из GET.. хотя надо было ее использовать как значение =))

лады, бывает спс!
 

Leonid

PHP? нет, не слышал...
Каждый раз редактировать .htaccess, когда изменяешь структуру сайта или документов на нем, замучаешься. Гораздо проще вообще все перенаправляешь на Index.php, а в нем разбираешь запрос, хоть регулярными выражениями, хоть парсишь какими -то другими методами.
 

gonza

Новичок
Автор оригинала: Leonid
Каждый раз редактировать .htaccess, когда изменяешь структуру сайта или документов на нем, замучаешься.
А может ну его, index.php. Не каждый день структура сайта меняется. А если каждый день - то лучше подумать над структурой, а не над реализацией.
 
Сверху