|
|
|
| Помогите написать регулярку для mod_rewrite
для ссылок вида
/categories.php?section=secrets/
|
работает ..
RewriteRule ^([A-Za-z]+)/$ categories.php?section=$1 [QSA,L]
|
а мне надо написать регулярку для ссылок вида
/categories.php?section= all-secrets-1-end/
или
/categories.php?section= al-l-77-secrets-1-end/
|
только буквы латинские, цифры и тире между ними... | |
|
|
|
|
|
|
|
для: serjinio
(12.08.2008 в 00:04)
| |
/? на случай если слеша может быть а может и не быть в конце адреса | |
|
|
|
|
|
|
|
для: xx77
(12.08.2008 в 09:43)
| |
RewriteRule ^([A-Za-z]+)/$ categories.php?section=$1 [QSA,L]
поменял на конструкцию
RewriteRule ^([0-9\-A-Z_a-z]+)/?$ categories.php?section=$1 [QSA,L]
|
попробовал несколько вариантов не получилось выдал 500
RewriteRule: cannot compile regular expression '^([0-9\\-A-Z_a-z]+)/$'\n
RewriteRule: cannot compile regular expression '^([0-9\\-A-Z_a-z]+)/?$'\n
RewriteRule: cannot compile regular expression '^([0-9\\-A-Za-z]+)/?$'\n
|
Заэкранировал -
RewriteRule ^([0-9\-\A-Za-z]+)/$ categories.php?section=$1 [QSA,L]
|
пропала 500 ,но
/categories.php?section= secrets проходит,а
/categories.php?section= all-secrets-1-end нет
выдает
File does not exist: z:/home/test.ru/www/all-secrets-1-end/
|
хотя если отправляю без мод реврайта
href="categories.php?section=all-secrets-1-end"
все нормально
|
| |
|
|
|
|
|
|
|
для: serjinio
(12.08.2008 в 10:48)
| | странно,
на денвере работает и если \- и так:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /x/archive/
RewriteRule ^([0-9\x2dA-Z_a-z]+)/?$ index.php?x=$1
|
например такой .htaccess лежит в ....../x/archive/
, и срабатывает при переходе по адресу например http://site/x/archive/txt-1/ | |
|
|
|
|
|
|
|
для: xx77
(12.08.2008 в 11:39)
| | запустил!!!!
RewriteRule ^([0-9\A-Za-z\-]+)/?$ categories.php?section=$1 [QSA,L]
|
или такой
RewriteRule ^([^/]*)/$ /categories.php?section=$1 [L]
|
в чем отличие между ними в работе так и не понял но работают оба...может кто подскажет в чем же между ними отличие???? | |
|
|
|