.htacces и mod_rewrite перенес сайт- ошибка 500
616 повідомлень
#14 років тому
Проблема при переносе сайта, на старом хостинге все отлично работает, перенес на новый все настроил, файлы подправил какие нужно было, только вот в htacces в rewriterule что то не так обрабатывается/home/a/amargoev/kidsobuv.ru/public_html/.htaccess: RewriteRule: cannot compile regular expression '^admin/addpage(|/)$'\n - вот это в логе ошибок
1157 повідомлень
#14 років тому
Цитата ("viprub4ik"):RewriteRule: cannot compile regular expression '^admin/addpage(|/)$'\n - вот это в логе ошибок
По каким-то причинам регулярные выражения в mod rewrite работают не на всех хостингах.
Варианты решения
- быстро сбежать, пока никто не видел
- дать на лапу админу чтоб как-нибудь у вас заработало
- заменить вариант с регуляркой на вариант с более понятным и простым выражением без регулярки
(|/) - вот это в упор не понимаю, что сие означает

99 повідомлень
#14 років тому
superkoder, наверное, логика "или" руглярки. (|/) - выбор группы, "ничего" или "слеш" 
1157 повідомлень
#14 років тому
Цитата ("r0b1n"):"ничего" или "слеш"
"ничего" или "слеш" пишут так /?
(|/) | означает элемент на выбор, / - сам себя? Не очевидная конструкция.

99 повідомлень
#14 років тому
superkoder, /? - это слеш повторяющийся ноль или один раз. другая запись - /{0,1} ка(ш|в)апоймает и каша , и кава,
(С|М)ашапоймает и Саша, и Маша
И наверное, логика программиста была что записью page(
616 повідомлень
#14 років тому
Всем спасибо, тоже не мог разобрать (|/) зачем вот это, убрал и вот что получилось и все работает смотрите ниже!
616 повідомлень
#14 років тому
PS Сайт не известно кем написан был, мне его нужно было перенести на другой хостинг... вот решениеБыло
RewriteRule ^admin/addpage(|/)$ /admin/addpages.php
RewriteRule ^admin/editpage/(+)(|/)$ /admin/editpages.php?page_id=$1
Стало
RewriteRule ^admin/addpage/$ /admin/addpages.php
RewriteRule ^admin/editpage/(+)/$ /admin/editpages.php?page_id=$1
Мож кому пригодится