<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Konopnickiej.Com Blog &#187; mod_rewrite</title>
	<atom:link href="http://blog.konopnickiej.com/tag/mod_rewrite/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.konopnickiej.com</link>
	<description>...już nie tak bardzo informatycznie...</description>
	<lastBuildDate>Fri, 10 Jun 2011 17:54:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Reguły z mod_rewrite nie działają modułem userdir (Apache,Debian, Linux)</title>
		<link>http://blog.konopnickiej.com/2009/06/01/reguly-z-mod_rewrite-nie-dzialaja-w-apache-2/</link>
		<comments>http://blog.konopnickiej.com/2009/06/01/reguly-z-mod_rewrite-nie-dzialaja-w-apache-2/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 00:47:40 +0000</pubDate>
		<dc:creator>Paweł Wojciechowski</dc:creator>
				<category><![CDATA[Admin Zone]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mod_rewrite]]></category>

		<guid isPermaLink="false">http://blog.konopnickiej.com/?p=105</guid>
		<description><![CDATA[Parę dni temu znajomy poprosił mnie o pomoc przy uruchomieniu modułu mod_rewrite w Apache&#8217;u który dostarczony jest z Debianem. Problem przejawiał się tym, że nie działało przekierowywanie stron ładowanych modułem userdir (przykładowy adres strony: http://localhost/~uzytkownik/). Opiszę kroki jakie trzeba wykonać aby temat rozwiązać: Najpierw sprawdźmy czy moduły rewrite i userdir są ładowane podczas uruchomienia Apache. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-106" title="Apache Linux" src="http://blog.konopnickiej.com/wp-content/uploads/2009/06/apache-linux.jpeg" alt="Apache Linux" width="82" height="34" />Parę dni temu znajomy poprosił mnie o pomoc przy uruchomieniu modułu <strong>mod_rewrite</strong> w Apache&#8217;u który dostarczony jest z Debianem. Problem przejawiał się tym, że nie działało przekierowywanie stron ładowanych modułem <strong>userdir</strong> (przykładowy adres strony:   http://localhost/~uzytkownik/). Opiszę kroki jakie trzeba wykonać aby temat rozwiązać:</p>
<p>Najpierw sprawdźmy czy moduły <strong>rewrite</strong> i <strong>userdir</strong> są ładowane podczas uruchomienia Apache. Odpalamy funkcję <strong>phpinfo()</strong> i szukamy sekcji <strong>apache2handler</strong>, wiersza <strong>Loaded Modules</strong>. Tam, wśród różnych opcji, powinny znajdować się dwa interesujące nas pozycje (<strong>mod_rewrite</strong> oraz <strong>mod_userdir</strong>).</p>
<p>Jeżeli ich tam nie ma, przechodzimy do katalogu <strong>/etc/apache2/mods-enabled/</strong>, sprawdzając czy zawiera dowiązania symboliczne ładujące odpowiednie rzeczy:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>venoma:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>mods-enabled<span style="color: #666666; font-style: italic;"># ls -al rewrite* userdir*</span>
lrwxrwxrwx <span style="color: #000000;">1</span> root root <span style="color: #000000;">30</span> 06-01 02:09 rewrite.load -<span style="color: #000000; font-weight: bold;">&gt;</span> ..<span style="color: #000000; font-weight: bold;">/</span>mods-available<span style="color: #000000; font-weight: bold;">/</span>rewrite.load
lrwxrwxrwx <span style="color: #000000;">1</span> root root <span style="color: #000000;">30</span> 05-<span style="color: #000000;">26</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">14</span> userdir.conf -<span style="color: #000000; font-weight: bold;">&gt;</span> ..<span style="color: #000000; font-weight: bold;">/</span>mods-available<span style="color: #000000; font-weight: bold;">/</span>userdir.conf
lrwxrwxrwx <span style="color: #000000;">1</span> root root <span style="color: #000000;">30</span> 05-<span style="color: #000000;">26</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">14</span> userdir.load -<span style="color: #000000; font-weight: bold;">&gt;</span> ..<span style="color: #000000; font-weight: bold;">/</span>mods-available<span style="color: #000000; font-weight: bold;">/</span>userdir.load</pre></td></tr></table></div>

<p>Jeżeli ich tam nie ma, tworzymy je poleceniem:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>venoma:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>mods-enabled<span style="color: #666666; font-style: italic;"># ln -s ../mods-available/userdir.load</span>
root<span style="color: #000000; font-weight: bold;">@</span>venoma:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>mods-enabled<span style="color: #666666; font-style: italic;"># ln -s ../mods-available/userdir.conf</span>
root<span style="color: #000000; font-weight: bold;">@</span>venoma:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>mods-enabled<span style="color: #666666; font-style: italic;"># ln -s ../mods-available/rewrite.load</span></pre></td></tr></table></div>

<p>Restartujemy Apache:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></td></tr></table></div>

<p>i ponownie odpalamy <strong>phpinfo()</strong>. Moduły powinny być już załadowane (założyłem tutaj, że odpowiednie pliki znajdują się w katalogu <strong>/etc/apache2/mods-available/</strong>)</p>
<p>Teraz otwieramy plik <strong>/etc/apache2/sites-available/default</strong>. W tymże pliku szukamy linii z opcją <span style="color: #3366ff;">AllowOverride</span> w sekcji <span style="color: #3366ff;">&lt;Directory /&gt;</span> , aby rewrite działał poprawnie,  powinna ona wyglądać tak</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">All</span></pre></td></tr></table></div>

<p>Kolej na konfigurację <strong>modułu userdir</strong>. Otwieramy <strong>/etc/apache2/mods-enabled/userdir.conf</strong>, w którym <span style="color: #ff0000;">nie powinna pojawić się pozycja <strong>AllowOverride None</strong></span>. Prawdopodobnie linijka będzie wyglądała tak:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">AllowOverride</span> FileInfo AuthConfig Limit <span style="color: #0000ff;">Indexes</span></pre></td></tr></table></div>

<p>jest to poprawny wpis.</p>
<p>Ponownie restartujemy Apache:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></td></tr></table></div>

<p>W tej chwili moduł rewrite będzie działał poprawnie. <strong>Problemem może okazać się jego użycie wraz z modułem userdir</strong>.  Aby wszystko działało poprawnie, trzeba odpowiednio skonstruować  plik .htaccess. <span style="color: #ff6600;"><strong>Musi on zawierać dyrektywę RewriteBase:</strong></span></p>
<p>Dla adresu np. http://localhost/~felixd/ powinna ona wyglądać tak:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteBase</span> /~felixd/</pre></td></tr></table></div>

<p>dla http://localhost/~felixd/projekt2/:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteBase</span> /~felixd/projekt2/</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.konopnickiej.com/2009/06/01/reguly-z-mod_rewrite-nie-dzialaja-w-apache-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

