<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: PHP framework CodeIgniter. Управление внутренней адресацией</title>
	<atom:link href="http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html</link>
	<description>Блог о программировании</description>
	<pubDate>Tue, 07 Oct 2008 12:40:38 +0000</pubDate>
	
		<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-622</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 11 Apr 2008 11:35:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-622</guid>
		<description>Это вопрос архитектуры приложения. В CI есть шаблоны для страниц ошибок
\system\application\errors\
Поэтому немного переделав этот шаблон вы можете показать посетителю что угодно, например, форму поиска по сайту.

По-моему, использовать отдельный контроллер имеет смысл, если в зависимости от url нужно показывать разные страницы с &lt;strong&gt;различным&lt;/strong&gt; описанием ошибок.</description>
		<content:encoded><![CDATA[<p>Это вопрос архитектуры приложения. В CI есть шаблоны для страниц ошибок<br />
\system\application\errors\<br />
Поэтому немного переделав этот шаблон вы можете показать посетителю что угодно, например, форму поиска по сайту.</p>
<p>По-моему, использовать отдельный контроллер имеет смысл, если в зависимости от url нужно показывать разные страницы с <strong>различным</strong> описанием ошибок.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-621</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 11 Apr 2008 11:29:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-621</guid>
		<description>Не совсем.
Просто правило
$route[‘(^.+$)’] = “main/goto/$1?;
применяется для &lt;strong&gt;всех&lt;/strong&gt; адресов. Т.е. если вы разместите более специфичные правило &lt;strong&gt;после&lt;/strong&gt; этого, то они &lt;strong&gt;работать не будут&lt;/strong&gt;. А вот нужны ли вам эти правила, вопрос другой.</description>
		<content:encoded><![CDATA[<p>Не совсем.<br />
Просто правило<br />
$route[‘(^.+$)’] = “main/goto/$1?;<br />
применяется для <strong>всех</strong> адресов. Т.е. если вы разместите более специфичные правило <strong>после</strong> этого, то они <strong>работать не будут</strong>. А вот нужны ли вам эти правила, вопрос другой.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Exel</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-618</link>
		<dc:creator>Exel</dc:creator>
		<pubDate>Fri, 11 Apr 2008 07:10:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-618</guid>
		<description>*шли не в 404, а в определенный контроллер…</description>
		<content:encoded><![CDATA[<p>*шли не в 404, а в определенный контроллер…</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Exel</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-617</link>
		<dc:creator>Exel</dc:creator>
		<pubDate>Fri, 11 Apr 2008 07:07:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-617</guid>
		<description>Правильно ли я понимаю:
Для реализации подобного
$route[‘(^.+$)’] = "main/goto/$1";
необходимо перед этим правилом перечислить правила для всех контроллеров, так?

Мне кажется более красивым решением будет переписывание роутера так, чтобы любые ненайденные адреса шли не в 404 в определенный контроллер...</description>
		<content:encoded><![CDATA[<p>Правильно ли я понимаю:<br />
Для реализации подобного<br />
$route[‘(^.+$)’] = &#034;main/goto/$1&#034;;<br />
необходимо перед этим правилом перечислить правила для всех контроллеров, так?</p>
<p>Мне кажется более красивым решением будет переписывание роутера так, чтобы любые ненайденные адреса шли не в 404 в определенный контроллер&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Алексей</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-511</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Sun, 09 Mar 2008 10:55:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-511</guid>
		<description>Точно! Спасибо за наводку - когда начал разбираться с кодигнайтером поставил такое правило в .htaccess
&lt;code&gt;AddDefaultCharset UTF-8
RewriteEngine on
RewriteCond $1 !^(index\.php&#124;.*/images&#124;styles&#124;scripts&#124;robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^(images/)(.*) /system/application/$1$2 [L]&lt;/code&gt;
чтоб убрать index.php из адресации.
Где-то подсмотрел решение. Да позабыл, что оно не "идет по-умолчанию". Ещё раз спасибо. 
Вот.</description>
		<content:encoded><![CDATA[<p>Точно! Спасибо за наводку - когда начал разбираться с кодигнайтером поставил такое правило в .htaccess<br />
<code>AddDefaultCharset UTF-8<br />
RewriteEngine on<br />
RewriteCond $1 !^(index\.php|.*/images|styles|scripts|robots\.txt)<br />
RewriteRule ^(.*)$ /index.php/$1 [L]<br />
RewriteRule ^(images/)(.*) /system/application/$1$2 [L]</code><br />
чтоб убрать index.php из адресации.<br />
Где-то подсмотрел решение. Да позабыл, что оно не &#034;идет по-умолчанию&#034;. Ещё раз спасибо.<br />
Вот.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-490</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Thu, 06 Mar 2008 18:16:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-490</guid>
		<description>Описанное в предыдущем комментарии решение вообще не требует использования .htaccess?

А вот если вы хотите хранить файлы в папке application, то возможны варианты.
Если вы используете стандартное размещение:
DOCUMENT_ROOT/system/application/...
то нужно просто указать абсолютный путь к файлам:
http://www.mysite.com/system/application/css/styles.css
.htaccess здесь не нужен (раз /index.php/ нет в адресе, то и обращения к нему не будет).

А вот если вы убрали /system/application/ за пределы DOCUMENT_ROOT, то и доступ к файлам не получите (разве что какими-то обходными путями).

P.S. У меня сложилось впечатление, что у вас в .htaccess есть правило, которое во &lt;strong&gt;все&lt;/strong&gt; адреса вставляет /index.php после имени домена. В этом случае проще всего не применять это правило к папкам /css, /js и т.д.</description>
		<content:encoded><![CDATA[<p>Описанное в предыдущем комментарии решение вообще не требует использования .htaccess?</p>
<p>А вот если вы хотите хранить файлы в папке application, то возможны варианты.<br />
Если вы используете стандартное размещение:<br />
DOCUMENT_ROOT/system/application/&#8230;<br />
то нужно просто указать абсолютный путь к файлам:<br />
<a href="http://www.mysite.com/system/application/css/styles.css" rel="nofollow">http://www.mysite.com/system/application/css/styles.css</a><br />
.htaccess здесь не нужен (раз /index.php/ нет в адресе, то и обращения к нему не будет).</p>
<p>А вот если вы убрали /system/application/ за пределы DOCUMENT_ROOT, то и доступ к файлам не получите (разве что какими-то обходными путями).</p>
<p>P.S. У меня сложилось впечатление, что у вас в .htaccess есть правило, которое во <strong>все</strong> адреса вставляет /index.php после имени домена. В этом случае проще всего не применять это правило к папкам /css, /js и т.д.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Алексей</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-488</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Wed, 05 Mar 2008 23:59:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-488</guid>
		<description>ну это и есть решение с помощью .htaccess
только надо добавить в идущее по-умолчанию правило на передачу запроса index.php исключения для css&#124;scripts

С этим решением всё более-менее понятно... а если хочу хранить стили, скрипты и файлы для скачивания (назовем так в том числе и картинки) не в корне сервера, а в папке application и не строить регулярных выражений в .htaccess? В принципе вопрос не слишком актуальный - скорее риторический...
писать контроллер для отдачи таких файлов может и правильно с академической точки зрения, но неправильно с жизненной... интересно как друпал при мультисайтинге отдаёт...</description>
		<content:encoded><![CDATA[<p>ну это и есть решение с помощью .htaccess<br />
только надо добавить в идущее по-умолчанию правило на передачу запроса index.php исключения для css|scripts</p>
<p>С этим решением всё более-менее понятно&#8230; а если хочу хранить стили, скрипты и файлы для скачивания (назовем так в том числе и картинки) не в корне сервера, а в папке application и не строить регулярных выражений в .htaccess? В принципе вопрос не слишком актуальный - скорее риторический&#8230;<br />
писать контроллер для отдачи таких файлов может и правильно с академической точки зрения, но неправильно с жизненной&#8230; интересно как друпал при мультисайтинге отдаёт&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-486</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Wed, 05 Mar 2008 19:23:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-486</guid>
		<description>Так же как и для обычного сайта. Нужно указать путь к файлам со стилями, скриптами, картинками...

Например, сайта находится здесь: www.mysite.com
В корне сервера (папка на которую указывает DOCUMENT_ROOT) размещены index.php (обрабатывает все запросы к CodeIgniter) и папка css с файлом styles.css (таблица стилей).
Чтобы подключить styles.css нужно в заголовке страницы нужно написать:
&lt;code&gt;&#60;link rel="stylesheet" type="text/css" href="http://www.mysite.com/css/styles.css" /&#62;&lt;/code&gt;

Адрес сайта, конечно, лучше не писать, а использовать функцию CI base_url(), которая возвращает адрес прописанный в конфиге (application/config/config.php)
&lt;code&gt;&#60;link rel=\"stylesheet\" type=\"text/css\" href=\"".base_url()."css/styles.css\" /&#62;&lt;/code&gt;

То, что файл, создающий страницу, находится в папке application/views/ не играет никакой роли.</description>
		<content:encoded><![CDATA[<p>Так же как и для обычного сайта. Нужно указать путь к файлам со стилями, скриптами, картинками&#8230;</p>
<p>Например, сайта находится здесь: <a href="http://www.mysite.com" rel="nofollow">http://www.mysite.com</a><br />
В корне сервера (папка на которую указывает DOCUMENT_ROOT) размещены index.php (обрабатывает все запросы к CodeIgniter) и папка css с файлом styles.css (таблица стилей).<br />
Чтобы подключить styles.css нужно в заголовке страницы нужно написать:<br />
<code>&lt;link rel="stylesheet" type="text/css" href="http://www.mysite.com/css/styles.css" /&gt;</code></p>
<p>Адрес сайта, конечно, лучше не писать, а использовать функцию CI base_url(), которая возвращает адрес прописанный в конфиге (application/config/config.php)<br />
<code>&lt;link rel=\"stylesheet\" type=\"text/css\" href=\"".base_url()."css/styles.css\" /&gt;</code></p>
<p>То, что файл, создающий страницу, находится в папке application/views/ не играет никакой роли.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Алексей</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-485</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Wed, 05 Mar 2008 10:58:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-485</guid>
		<description>Извиняюсь - хотел написать как при работащем кодигнайтере получать с сервера таблицы стилей, скрипты, картинки?</description>
		<content:encoded><![CDATA[<p>Извиняюсь - хотел написать как при работащем кодигнайтере получать с сервера таблицы стилей, скрипты, картинки?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Алексей</title>
		<link>http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-484</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Wed, 05 Mar 2008 10:51:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/upravlenie-vnutrennej-adresaciej-v-codeigniter.html#comment-484</guid>
		<description>А как сделать привычные
 и скрипты?
Можно ли это решить "внутри" кодигнайтера? или только средствами .htaccess?</description>
		<content:encoded><![CDATA[<p>А как сделать привычные<br />
 и скрипты?<br />
Можно ли это решить &#034;внутри&#034; кодигнайтера? или только средствами .htaccess?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
