<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>PAOLOG &#187; .htaccess</title>
	<atom:link href="http://scianto.net/archives/tag/htaccess/feed" rel="self" type="application/rss+xml" />
	<link>http://scianto.net</link>
	<description>趣味のウェブデザインと管理人PAONの日記</description>
	<lastBuildDate>Thu, 29 Jul 2010 03:47:50 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://scianto.net/archives/tag/htaccess/feed" />
		<item>
		<title>mod_rewriteで動的サイトを静的サイトにみせてSEO対策</title>
		<link>http://scianto.net/archives/2007/04/14220803.php</link>
		<comments>http://scianto.net/archives/2007/04/14220803.php#comments</comments>
		<pubDate>Sat, 14 Apr 2007 13:08:03 +0000</pubDate>
		<dc:creator>paon</dc:creator>
				<category><![CDATA[web design]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://scianto.net/wpmemo/?p=223</guid>
		<description><![CDATA[



PHPなどでデータベースやWebサービスを使うサイトを作るとURLの末尾にクエリ文字列というものがくっついたやたらと長いURLになってしまいます。
どうもこの部分が長いとGoogleやYahoo!などは積極的にペ [...]]]></description>
			<content:encoded><![CDATA[<p class="pict">
<img src="http://power.scianto.net/img/entryimage/20070413_01.gif" alt="" width="180" height="180" />
</p>
<p>
PHPなどでデータベースやWebサービスを使うサイトを作るとURLの末尾にクエリ文字列というものがくっついたやたらと長いURLになってしまいます。<br />
どうもこの部分が長いとGoogleやYahoo!などは積極的にページをインデックスしてくれないようです。<br />
せっかく作ったページも検索結果ページに反映されないのでは悪い意味で涙もの・・・。<br />
この問題を解決するには、mod_rewriteというApacheモジュールをつかって動的ページを静的ページに見せるという方法があるようです。<br />
Apacheやmod_rewriteのことはほとんど知らない状況ではじめたので、実際にテストしてみた結果を掲載しておきます。
</p>

<span id="more-223"></span>
<h2>目標とすること</h2>
<pre> http://sample.com/index.php?mode=aaa&amp;id=bbb </pre>
<p> にアクセスした場合と </p>
<pre> http://sample.com/aaa/bbb/ </pre>
<p> にアクセスしたときの結果を同じにすることが目標です。<br /> この技術をつかうにはmod_rewriteが使えるサーバーが必要になってきます。レンタルサーバーでは.htaccessで設定を行なうのでこれも使えることが条件となります。レンタルサーバーとして借りている<a href="http://px.a8.net/svt/ejp?a8mat=O8WLT+CMVA1E+348+65MEA" target="_blank">ロリポップ！</a> <img src="http://www13.a8.net/0.gif?a8mat=O8WLT+CMVA1E+348+65MEA" alt="" width="1" height="1" /> と<a href="http://px.a8.net/svt/ejp?a8mat=1016RM+DVISEQ+348+15QWXU" target="_blank">チカッパ！</a> <img src="http://www12.a8.net/0.gif?a8mat=1016RM+DVISEQ+348+15QWXU" alt="" width="1" height="1" /> は共にmod_rewriteと.htaccessが使えるのでOKです。 </p>
<h2>.htaccessの作成</h2>
<p> .htaccessファイルを<a href="http://blog.su-jine.net/archives/2004/08/_mod_rewrite.html">動的だけど静的なページの作成 (mod_rewrite)</a>を参考に作成します。コードは次のとおり。 </p>
<textarea name="code" class="C#"> #mod_rewrite config
#DirectoryIndex index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)/$ index.php?mode=$1&amp;id=$2 [L] </textarea>
<p> これを設置するだけで出来上がりです。index.phpには「mode」と「id」の値が引き渡されることになります。</p>
<h3>コードの説明</h3>
<p> RewriteEngine on は、必ずはじめに書いておきます。 </p>
<p> RewriteCond は条件を付加するための記述です。if構文みたいなもののよう。条件に一致した場合のみURLの書き換え（RewriteRule）を実行します。<br /> ここでの意味は「リクエストしたファイルやディレクトリがもともと存在していればなにもしない」という意味になるようです。この部分はなくても動くようですが念のために記述しておくことにします。 </p>
<p> 最後のRewriteRuleが実際にどのように変換するかを決める記述となります。前半の正規表現の部分にマッチするディレクトリにアクセスすると後半部分の形式に変換されます。<br />「^([0-9A-Za-z]+)/([0-9A-Za-z)]+)/$」<br />は、この例でいうと「http://sample.com/ 」以下の部分「aaa/bbb/」にマッチするような正規表現になっていて、「( )丸括弧」の部分にマッチした文字列が順番に「$1」「$2」に入ります。これを後方参照というそうです。<br />もしクエリ文字列を増やしたいときは</p>
<pre>^([0-9A-Za-z]+)/([0-9A-Za-z)]+)/([0-9A-Za-z)]+)/$ index.php?mode=$1&amp;id=$2&amp;p=$3</pre>
<p> と記述すればいくらでも増やすことができます。</p>
<p>mod_rewrite の書き方についてはなにも判らないところからはじめているので説明で間違っている部分があるかもしれませんが、そのときはコメントで教えてもらえると助かります。</p>]]></content:encoded>
			<wfw:commentRss>http://scianto.net/archives/2007/04/14220803.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://scianto.net/archives/2007/04/14220803.php" />
	</item>
		<item>
		<title>XAMPP設定（セキュリティー編）</title>
		<link>http://scianto.net/archives/2006/11/28203655.php</link>
		<comments>http://scianto.net/archives/2006/11/28203655.php#comments</comments>
		<pubDate>Tue, 28 Nov 2006 11:36:55 +0000</pubDate>
		<dc:creator>paon</dc:creator>
				<category><![CDATA[web design]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[XAMPP]]></category>

		<guid isPermaLink="false">http://scianto.net/wpmemo/?p=189</guid>
		<description><![CDATA[

XAMPPのインストールが完了したら次はセキュリティーの設定をします。XAMPPをインストールするとPHPのプログラムを動かせるようサーバー（Apache）やMySQL（データーベース）もインストールされます。これだ [...]]]></description>
			<content:encoded><![CDATA[<p>
<img width="150" height="120" class="pict" src="http://power.scianto.net/img/entryimage/xampp05.gif" />
XAMPPのインストールが完了したら次はセキュリティーの設定をします。XAMPPをインストールするとPHPのプログラムを動かせるようサーバー（Apache）やMySQL（データーベース）もインストールされます。これだけで簡単な自宅サーバーができあがります。とはいえ、あくまでPHPを開 発するためだけに利用するので、外部からアクセスされると困ります。そこで自分以外はアクセスできないようにセキュリティーの設定をする必要があります。
</p>

<span id="more-189"></span>
<p>
この例ではXAMPPを<br />
<span class="fs-1">C:XAMPP</span><br />
に設置したとして進めます。
</p>
<h2>.htaccessファイルを設置する</h2>
<p>
まず「メモ帳」をひらき以下の3行を入力します。
</p>
<pre><code>Order deny,allow
Deny from All
Allow from localhost 127.0.0.1
</code></pre>
<p>
これを『<span class="fs-1">.htaccess</span>』という名前で保存します。<br />
保存するときは「ファイルの種類」を「すべて」にして保存しないとファイル名が「.htaccess.txt」になってしまうので注意です。<br />
保存場所は<br />
C:xampphtdocs<br />
です。
</p>
<p>
htdocsディレクトリはブラウザから<br />
http://localhost/<br />
にアクセスしたページになります。
</p>
<p>
.htaccessの内容としてはいったんすべてのアクセスを制限してからIPアドレスが127.0.0.1からのアクセスのみを許可するという意味になります。127.0.0.1は自分のパソコンを表わしています。
</p>
<h2>MySQLのパスワード設定</h2>
<p>
MySQLのパスワードを設定します。ブラウザでXAMPPを開き（http://localhost/xampp/）、左メニューの「Security」をクリックします。
</p>
<p>
現在のセキュリティーの状態が表示されるのでその下のほうにある<br />
<span class="fs-1">http://localhost/security/xamppsecurity.php</span><br />
のリンクをクリックします。
</p>
<p>
下図のようにパスワードやチェックをしていきます。
</p>
<p class="image">
<img width="400" height="300" src="http://power.scianto.net/img/entryimage/xampp06.gif" />
</p>
<p>
「MYSQL SECTION: &quot;ROOT&quot; PASSWORD」ではMySQLのパスワードを設定しています。これはphpmyadminをつかうときに必要です。XAMPPのメニューからphpmyadminを選択するとIDとパスワードを求められるので次のようにします。
</p>
<p>
ID ： root<br />
pass ： ここで設定したパスワード
</p>
<p>
「XAMPP DIRECTORY PROTECTION (.htaccess)」を設定するとXAMPPをブラウザで開くときにIDとパスワードを求められるようになります。htdocsディレクトリに「.htaccess」ファイルを設置しているのでXAMPPディレクトリを保護する必要はないような気がしますが一応ということで。
</p>
<h3>追記</h3>
<p>
ここで設定したパスワードをわすれたときは『Security risk!』に書いてあるファイルを見ればわかります。助かりますね。
</p>
<h2>セキュリティーチェック</h2>
<p class="image">
<img width="400" height="214" src="http://power.scianto.net/img/entryimage/xampp07.gif" />
</p>
<p>
以上の設定をすると上のようになります。上の3つが「<span class="fs-1">SECURE</span>」ならいいかなということで・・・。
</p>
<h2>参考サイト</h2>
<ul>
<li><a href="http://phpspot.net/php/">phpspot</a>：XAMPPはここで知りました。</li>
<li><a href="http://www.shtml.jp/htaccess/index.html">.htaccess実践活用術</a>：.htaccessのことがわかりやすく説明されています。</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://scianto.net/archives/2006/11/28203655.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://scianto.net/archives/2006/11/28203655.php" />
	</item>
	</channel>
</rss>
