WordPressでは、各投稿記事のURL(パーマリンク)は、
http://localhost/hogehoge/?p=1
のように、パラメータ(クエリストリング)付きのURLがデフォルトとなります。

ただ、SEOを考慮すると、
パラメータ(クエリストリング)付きのURLは、検索エンジンにインデックスされにくい。
という問題があるそうで、パーマリンクの設定に少々工夫が必要となります。
ここでは、各投稿記事のURL(パーマリンク)を、
http://localhost/hogehoge/uncategorized/1.html
のように、「/カテゴリ名/投稿記事のID.html」の形式にする手順についてご紹介します。
<?php
$my_wp_url = "http://" . $_SERVER['SERVER_NAME'] . "/hogehoge";
$_SERVER['REQUEST_URI'] = substr($_SERVER['QUERY_STRING'], strpos($_SERVER['QUERY_STRING'], $my_wp_url)+strlen($my_wp_url));
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>
<?php
$my_wp_url = "http://" . $_SERVER['SERVER_NAME'] . ":80/hogehoge";
$_SERVER['REQUEST_URI'] = substr($_SERVER['QUERY_STRING'], strpos($_SERVER['QUERY_STRING'], $my_wp_url)+strlen($my_wp_url));
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>


/%category%/%post_id%.html


【補足】
【参考URL】
コメント(2)
コメント

apache"mod_rewrite"が使えない環境(IIS等)での代替手段として
使える情報ありがとうございます。
補足ですがIIS等で
$_SERVER['QUERY_STRING']は
ポート番号を含む場合がありますので
":80/hogehoge";
などとすることでうまく動作いたしました。
win23+iisさん、コメントありがとうございます。
ポート番号のこと、失念してました。おそるべし、デファクトスタンダード。
$my_wp_url = "http://" . $_SERVER['SERVER_NAME'] . "/hogehoge";
↓
$my_wp_url = "http://" . $_SERVER['SERVER_NAME'] . ":80/hogehoge";
というようにすると良い、ということですよね?