Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > Не работает .htaccess


Автор: 1datr 29.9.2009, 10:16
Движок code-igniter
У меня вообще на новом хостинге не хочет принимать адреса вида http://www.mdg.friemaxx.ru/crm/workers. Ошибка 404
.htaccess:
Код

Код: Выделить всё
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index.php|images|robots|js.txt|public)
RewriteCond %{REQUEST_URI} !.(css¦js¦jpg¦gif)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
AddDefaultCharset utf-8


config.php

Код

$config['base_url']    = "http://www.mdg.friemaxx.ru/crm/";
//$config['index_page'] = "index.php";
$config['index_page'] = "";
$config['uri_protocol']    = "REQUEST_URI";
$config['url_suffix'] = "";
$config['language']    = "english";
//$config['charset'] = "UTF-8";
$config['charset'] = "cp1251";
//$config['enable_hooks'] = TRUE;
$config['enable_hooks'] = FALSE;
$config['subclass_prefix'] = 'MY_';
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

$config['enable_query_strings'] = FALSE;
//$config['enable_query_strings'] = TRUE;
$config['controller_trigger']     = 'c';
$config['function_trigger']     = 'm';
$config['directory_trigger']     = 'd'; // experimental not currently in use
$config['log_threshold'] = 0;
$config['log_path'] = '';
$config['log_date_format'] = 'Y-m-d H:i:s';
$config['cache_path'] = '';
$config['encryption_key'] = "";
$config['sess_cookie_name']        = 'ci_session';
$config['sess_expiration']        = 7200;
$config['sess_encrypt_cookie']    = FALSE;
$config['sess_use_database']    = FALSE;
$config['sess_table_name']        = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent']    = TRUE;
$config['sess_time_to_update']     = 300;
$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
$config['cookie_path']        = "/";
$config['global_xss_filtering'] = FALSE;
$config['compress_output'] = FALSE;
$config['time_reference'] = 'local';
$config['rewrite_short_tags'] = FALSE;
$config['proxy_ips'] = '';


директива allow_url_fopen включена. см. http://www.mdg.friemaxx.ru/crm/phpinfo.php

Автор: masp 29.9.2009, 10:24
Модуль Apache mod_rewrite Включен ?

Автор: Ипатьев 29.9.2009, 10:25
или сам апач %)

Автор: 1datr 29.9.2009, 10:29
Цитата(masp @ 29.9.2009,  10:24)
Модуль Apache mod_rewrite Включен ?

судя по phpinfo включен. 

Автор: MoLeX 29.9.2009, 10:53
Код

AddDefaultCharset UTF-8
Options -Indexes

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots|js\.txt|public)
RewriteRule ^(.*)$ /index.php/$1 [L]


Автор: 1datr 29.9.2009, 13:41
Цитата(MoLeX @ 29.9.2009,  10:53)
Код

AddDefaultCharset UTF-8
Options -Indexes

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots|js\.txt|public)
RewriteRule ^(.*)$ /index.php/$1 [L]

не помогает. на сколько я знаю после изменения .htaccess сервак переобувать необязательно.

Автор: Ипатьев 29.9.2009, 13:45
В начале файла с конфигом поставить die('debug'); и посмотреть, выведется ли. Если да - то 404 выдает сам движок.
Если нет - продолжать искать с конфигом сервера. плюс заглянуть в Error_log

Автор: 1datr 29.9.2009, 13:55
Цитата(Ипатьев @ 29.9.2009,  13:45)
В начале файла с конфигом поставить die('debug'); и посмотреть, выведется ли. Если да - то 404 выдает сам движок.
Если нет - продолжать искать с конфигом сервера. плюс заглянуть в Error_log

Для http://www.mdg.friemaxx.ru/crm/workers не выводится. Значит дело в настройках апача. Может быть в настройках апача есть что-то, что запрещает папкообразные адреса?

Автор: Ипатьев 29.9.2009, 14:10
http://www.mdg.friemaxx.ru/crm/workers - это НЕ "папкообразный" адрес. Адреса папок заканчиваются на /
Нет, никаких настроек такого рода, разумеется, нет.
Я бы в данном случае поставил более высокий уровень лога ошибок и смотрел в него. Обычно рерайт пишет достаточно информации. 


Автор: 1datr 29.9.2009, 14:23
а как логировать ошибки апача? При том, что я на удаленном хостинге

Автор: Ипатьев 29.9.2009, 14:25
все хостинги удаленные.
"логирует" апач сам. все что нужно - это просто посмотреть в лог

Автор: 1datr 29.9.2009, 14:52
а мне доступна только папка где сам сайт лежит

Автор: Ипатьев 29.9.2009, 14:56
тогда неудивительно, что что-то работает
перед собственным конфигом может лежать еще два. на гуанохостингах такое сплошь и рядом.

что означает фраза
Цитата(1datr @  29.9.2009,  13:55 Найти цитируемый пост)
Для http://www.mdg.friemaxx.ru/crm/workers не выводится.

?
Для каких-то адресов выводится? А если убрать - что-то работает?

Автор: 1datr 29.9.2009, 15:54
Кстати, а .htaccess который в корневой папке он может влиять на оные во вложенных папках?

Автор: Ипатьев 29.9.2009, 16:45
Что значит "может"? 
настройки конфигурации распространяются на все вложенные папки по определению.

Автор: MoLeX 30.9.2009, 05:15
1datr, у тебя работает все через index.php
http://www.mdg.friemaxx.ru/index.php/crm/workers

.htaccess не работает

Автор: 1datr 30.9.2009, 10:16
знаю. в том то и дело что мне такие адреса не нравяцца. ci-евские хелперы редиректа и тп не рассчитаны на такое.

Автор: MoLeX 30.9.2009, 11:28
1datr, к суппорту по этой проблеме

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)