Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Денвером не обрабатывается рег. выражение.
 
 автор: kramolnic   (16.07.2007 в 10:47)   письмо автору
 
 

Установил денвер. Однако мой rewrite rule, работающий на хостинге, в локалхосте отказывается. Денвер выводит Internal Server Error, а в error.log следущее: z:/home/test3.ru/www/.htaccess: RewriteRule: cannot compile regular expression '^([^\\.]*(?:[a-z0-9]+\\.(htm|html|php)){0,1})$'\n

Вот мой htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]*(?:[a-z0-9]+\.(htm|html|php)){0,1})$ index.php?cms_url=$1&%{QUERY_STRING} [L]

Повторюсь, что на хостинге все работает. Подскажите, пожалуйста, что исправить надо, чтобы работало и на хосте и на локалхосте. =(

PS. в корне лежит файл index.php. Ему в переменной cms_url передается путь к запрошенному htm или php файлу. По задумке он его должен парсить, и загружать ту или иную страницу. Например www.site.ru/company/about/portfolio/index.php.
PPS. Конкретно мне необходимо сделать возможность создания дерева страниц любой глубины.

   
 
 автор: Уфимец   (16.07.2007 в 15:13)   письмо автору
 
   для: kramolnic   (16.07.2007 в 10:47)
 

Посматри раскоментировано ли у тебя это значение в httpd.conf
AccessFileName .htaccess

   
 
 автор: kramolnic   (16.07.2007 в 16:46)   письмо автору
 
   для: Уфимец   (16.07.2007 в 15:13)
 

Я исправил .htaccess так:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]*([a-z0-9]+\.(htm|html|php)){0,1})$ index.php?cms_url=$1&%{QUERY_STRING}

и все заработало... То есть я убрал символ ?: перед [a-z0-9]... Только я не понял, почему он не обрабатывается как нужно в денвере? или версии Апача разные на хостинге и у денвера?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования