<?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>cojack blog &#187; modrewrite</title>
	<atom:link href="http://www.cojack.pl/tag/modrewrite/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cojack.pl</link>
	<description>Programowanie oraz Open Source powodem do życia</description>
	<lastBuildDate>Sat, 26 Nov 2011 18:43:28 +0000</lastBuildDate>
	<language>PL</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Seo URL &#8211; mod rewrite</title>
		<link>http://www.cojack.pl/seo-url-mod-rewrite</link>
		<comments>http://www.cojack.pl/seo-url-mod-rewrite#comments</comments>
		<pubDate>Tue, 30 Jun 2009 17:26:30 +0000</pubDate>
		<dc:creator>cojack</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[apache linux]]></category>
		<category><![CDATA[friendly url]]></category>
		<category><![CDATA[modrewrite]]></category>
		<category><![CDATA[seo url]]></category>
		<category><![CDATA[skrypty php]]></category>

		<guid isPermaLink="false">http://cojack.os-cms.pl/?p=124</guid>
		<description><![CDATA[Co nie co chciałbym przedstawić o przepisywaniu linków za pomocą mod_rewrite, czyli tak zwanym Seo URL (z ang. Search engine optimization), przepisywaniem linków, friendly url itp. Cała sztuka polega na tym, że przesyłamy tylko jednego $_GET&#8217;a, a następnie za pomocą php obrabiamy wynik, i interpretujemy wartości przedstawione w poszczególnych elementach ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="PHP" src="http://cojack.os-cms.pl/wp-content/arch-php.png" alt="" width="100" height="100" />Co nie co chciałbym przedstawić o przepisywaniu linków za pomocą mod_rewrite, czyli tak zwanym Seo URL (z ang. Search engine optimization), przepisywaniem linków, friendly url itp. Cała sztuka polega na tym, że przesyłamy tylko jednego $_GET&#8217;a, a następnie za pomocą php obrabiamy wynik, i interpretujemy wartości przedstawione w poszczególnych elementach tablicy. Gdyż właśnie w niej będziemy przechowywać ścieżki.</p>
<h3>Mod rewrite</h3>
<p>No to do dzieła przykład użycia, plik <strong>.htaccess</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">FollowSymLinks</span>
<span style="color: #00007f;">DirectoryIndex</span> index.php
&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_rewrite.c&gt;
  <span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">On</span>
  <span style="color: #00007f;">RewriteBase</span> /
  <span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-f
  <span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-d
  <span style="color: #00007f;">RewriteRule</span> ^(.*)$ index.php?q=$1 [L,QSA]
&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;</pre></td></tr></table></div>

<p><em>Odnośnie RewriteCond działa jakby if, więc !-f nie ma być plikiem, a !-d nie ma być katalogiem, jeżeli jest ok, to idzie dalej, flaga L informuje apache o zakończeniu działania skryptu.</em></p>
<p>Mamy już gotowy plik .htaccess, teraz możemy przejść do napisania funkcji która nam ładnie podzieli całego $_GET&#8217;a.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> Route<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$fetch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>I wtedy mamy linki w postaci:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">http://www.jakas-strona.pl/jakis/adres/ktory/widzi/user</pre></div></div>

<p>a Ty widzisz to tak:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">Array
(
  [0] = &quot;jakis&quot;
  [1] = &quot;adres&quot;
  [2] = &quot;ktory&quot;
  [3] = &quot;widzi&quot;
  [4] = &quot;user&quot;
)</pre></td></tr></table></div>

<p>Albo (pomysł z forum.php.pl):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> Route<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$fetch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$n</span> <span style="color: #339933;">=</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fetch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$_PARAM</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$n</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>
      <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$_PARAM</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fetch</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$fetch</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>I adresy mamy w postaci:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">http://www.jakas-strona.pl/kategoria/5/produkt/6</pre></div></div>

<p>będziemy mieli dostęp wtedy do tablicy $_PARAM tak jak z $_GET, czyli</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_PARAM</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kategoria'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// powinno dać nam 5</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_PARAM</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'produkt'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// ... 6</span>
&nbsp;
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_PARAM</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<h3>Seo URL</h3>
<p>Czym jest tak na prawdę te Seo URL? I czy to wszystko jest mi na prawdę potrzebne?<br />
Odpowiedź jest dwojaka, jak wiemy algorytmy google z rankingiem są cały czas aktualizowane, chociaż google ostro twierdzi że ich nie tyka. Wystarczy wejść na Polskie forum odnośnie optymalizacji witrny i pozycjonowania i możemy przeczytać co prawdziwi pozycjonerzy o tym myślą. Co do rankingu dzięki seo url, po troche jest w tym prawda, chodź najważniejsze są linki prowadzące do Twojej witryny. Roboty zbierają dane z adresu też, dzięki temu łatwiej jest Ci się znaleźć w indeksie google, zwróć uwagę przy wyszukiwaniu w google, że podana fraza szukana jeżli znajduje się w adresie strony, jest przez google podświetlana.</p>
<h4>Słów kilka na zakończenie</h4>
<p>Używać co kto woli, w moim przypadku nie ma tablicy asocjacyjnej, jest zwykła tablica iteracyjna. Url&#8217;e mogą być krótsze chodź nie muszą, przy takim podejściu do adresów, należy pilnować się o adresacje w tabeli. I pamiętajmy, pierwszy element tablicy to nie jest 1, tablica 30-elementowa nie ma ostatniego elementu <u>$tab[30]</u>.</p>
<p>Czego tutaj brakuje? Oczywiście filtrowania $_GET['q']. Do tego wrócimy w bliższym czasie.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cojack.pl/seo-url-mod-rewrite/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

