|
|
|
| Установил денвер. Однако мой 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. Конкретно мне необходимо сделать возможность создания дерева страниц любой глубины. | |
|
|
|
|
|
|
|
для: kramolnic
(16.07.2007 в 10:47)
| | Посматри раскоментировано ли у тебя это значение в httpd.conf
AccessFileName .htaccess | |
|
|
|
|
|
|
|
для: Уфимец
(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]... Только я не понял, почему он не обрабатывается как нужно в денвере? или версии Апача разные на хостинге и у денвера? | |
|
|
|