SEO対策 mod_rewrite 動的URLを静的化

CORESERVERmod_rewrite

SEO対策 mod_rewrite 動的URLを静的化

 状態:不明  閲覧数:3,630  投稿日:2011-01-05  更新日:2011-01-26
▼URL/search/details?id=1を、URL/search/details1.htmlへ変更。「.htaccess」をドキュメントルートへ配置。<br />
<pre class="brush: php; collapse: true;">
RewriteEngine on
RewriteRule ^search/details([0-9A-Za-z]+)\.html$ search/details.php?id=$1 [L]
</pre>
<br />
^search/のsearch部分を削除(階層を変更)する際には、静的化対象ファイルで「読み込む全てのCSSファイル」を絶対パス表記にしないと、静的化したURLだけ、該当CSSが読み込まれず、レイアウトが一部崩れる、ようなことも起こり得る。<br />
↓<br />
<br />
▼URL/search/details?id=1を、URL/details1.htmlへ変更。「.htaccess」をドキュメントルートへ配置。<br />
<pre class="brush: php; collapse: true;">
RewriteEngine on
RewriteRule ^details([0-9A-Za-z]+)\.html$ search/details.php?id=$1 [L]
</pre><br /><br />


▼URL/search/details?id=1を、URL/search/1.htmlへ変更。「.htaccess」を/search/以下へ配置。<br />
<pre class="brush: php; collapse: true;">
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)\.html$ details.php?id=$1 [L]</pre><br /><br />
▼URL/search/details?id=1を、URL/search/details/1/index.htmlへ変更。「.htaccess」をドキュメントルートへ配置。<br />
<pre class="brush: php; collapse: true;">
RewriteEngine on
RewriteRule ^search/details/([0-9A-Za-z]+)/index.html$ search_mita/details.php?id=$1 [L]
</pre><br /><br />
▼URL/search/details?id=1を、URL/search/details/1/へ変更。「.htaccess」をドキュメントルートへ配置。<br />
<pre class="brush: php; collapse: true;">
RewriteEngine on
RewriteRule ^search/details/([0-9A-Za-z]+)/$ search/details.php?id=$1 [L]
</pre><br /><br />

▽.htaccess - Rewrite<br />
 http://webtech.akijapan.com/htaccess/rewrite.phtml<br /><br />



▽.htaccess 静的ページURLで動的ページにアクセス(RewriteEngine on RewriteRule)<br />

  http://かんたん作成.jp/htaccess/rewritecgi/

<br />
<br />
<br />
<br />

■11.1.26.追記<br />

▼URL/search/details.php?id=1を、URL/details1.htmlへ変更。<br />

さらにパラメータがない時にも対応させる。具体的には、<br />

URL/search/details.php ⇒ URL/details.htmlへ変更。<br />

「.htaccess」をドキュメントルートへ配置。<br />
<pre class="brush: php; collapse: true;">
RewriteEngine on
RewriteRule ^details/([0-9A-Za-z]*)/$ search/details.php?id=$1 [L]
</pre><br />

新たに生じた疑問。<br />

・3つあるパラメータの一つだけ、静的化した後、そこからさらに残りの2つのパラメータを$_GETしようしたら、うまくいかなかった。階層を変えたから?<br />
<br />


・post action=\"search.php?を静的化したら、うまくいかなかった。DBエラーとかってなった。なんで、検索だけダメなの? パスの問題?