/var/log/seiji

16 May 2008

Permalinksの設定 (WordPress)

index.php?p=1などのURLでは検索ロボットはindex.php?p=1とindex.php?p=2を同じページとして見てしまうので不利である。その為、Permalinksの設定を行う。 webscrap › Permalink Settings — WordPress-2.jpg

Permalinksを変更する手順としては以下の手順を行うことにします。

  1. 管理画面からPermalinksを変更する。
  2. mod_rewriteでhttp://blog.seiji.me/1.htmlをhttp://blog.seiji.me/?p=1のようにrewriteする設定を行う。

管理画面でのPermalinksの変更

下の図のように変更します。 webscrap › Permalink Settings — WordPress-1.jpg

mod_rewriteによるURL書き換え設定

httpd.confでも.htaccessファイルでも構わないが、今回はhttpd.confのDirectoryディレクティブの中に下のように設定する。

`# vi /etc/httpd/conf/httpd.conf`

<Directory ${WordPressHome}>
    AllowOverride None
    RewriteEngine on
    # Post
    RewriteCond %{REQUEST_URI} ^/([0-9]+)\.html$
    RewriteRule ^([0-9]+)\.html$ /?p=$1
    # Next/Prev Link
    RewriteCond %{REQUEST_URI} ^/page/(.*)$
    RewriteRule ^page/(.*)$ /?paged=$1
    # Category
    RewriteCond %{REQUEST_URI} ^/cat/(.*)$
    RewriteRule ^cat/(.*)$ /?cat=$1
    # Tag
    RewriteCond %{REQUEST_URI} ^/tag/(.*)$
    RewriteRule ^tag/(.*)$ /?tag=$1
    # Archive
    RewriteCond %{REQUEST_URI} ^/date/[0-9]{4}/[0-9]{2}$
    RewriteRule ^date/([0-9]{4})/([0-9]){2}$ /?m=$1$2
    RewriteCond %{REQUEST_URI} ^/date/[0-9]{4}/[0-9]{2}/[0-9]{2}$
    RewriteRule ^date/([0-9]{4})/([0-9]{2})/([0-9]{2})$ /?m=$1$2$3
    # TrackBack
    RewriteCond %{REQUEST_URI} ^/([0-9]+)\.html/trackback$
    RewriteRule ^([0-9]+)\.html/trackback$ /wp-trackback.php?p=$1
    # RssFeed
    RewriteCond %{REQUEST_URI} ^/feed/(.*)$
    RewriteRule ^feed/(.*)$ /?feed=$1
    RewriteCond %{REQUEST_URI} ^/feed$
    RewriteRule ^feed$ /?feed=rss2
</Directory>

これで目的のPermalinkにすることができたかと思います。

Comments

comments powered by Disqus