http://www.dogguy.org/blog/%year%/%month%/%day%/%post_name%
than
http://www.dogguy.org/blog/index.php?p=%post_id%
Then, I tried to look, using Google, what people have done to avoid this issue. One solution is to redirect every query to this
/blog/index.php/%year%/%month%/%day%/%post_name%
, but it didn't work for me. Another one is to use _GET variables. This final solution seems pretty clean ... but it didn't work neither. So I tried to modify it to make it work. It wasn't difficult and here is the result :
$HTTP["host"] =~ "www.dogguy.org" {
url.rewrite = (
"^/blog/((wp-.+)|images).*/?" => "$0",
"^/blog/(sitemap.xml)" => "$0",
"^/blog/(xmlrpc.php)" => "$0",
"^/blog/page/([0-9]+)/?$" => "/blog/index.php?paged=$1",
"^/blog/([0-9]+)/?$" => "/blog/index.php?m=$1",
"^/blog/([0-9]+)/([0-9]+)/?$" => "/blog/index.php?m=$1$2",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/?$" => "/blog/index.php?m=$1$2$3",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/([_0-9a-zA-Z-]+)/?$" => "/blog/index.php?name=$4",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/([_0-9a-zA-Z-]+)/feed/?$" => "/blog/index.php?name=$4&feed=rss2",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/([_0-9a-zA-Z-]+)/feed/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?name=$4&feed=$5",
"^/blog/([_0-9a-zA-Z-]+)/?$" => "/blog/index.php?page_id=$1",
"^/blog/feed/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?feed=$2",
"^/blog/comments/feed/?$" => "/blog/index.php?feed=comments-rss2",
"^/blog/comments/feed/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?feed=comments-$1",
"^/blog/(.+)/([0-9]+)/[^/]+/?/trackback/?$" => "/blog/index.php?category_name=$1&p=$2&tb=1",
"^/blog/category/(.+)/?$" => "/blog/index.php?category_name=$1",
"^/blog/category/(.+)/feed/?$" => "/blog/index.php?category_name=$1&feed=rss2",
"^/blog/category/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?category_name=$1&feed=$2",
)
}
Maybe it isn't complete enough for you ... but it suits my needs completely :) Any suggestion to enhance this piece of code is welcome.
UPDATE: I forgot trackback ! And I use this occasion to change feeds URLs and other missing things. So here is my new set of rules :
$HTTP["host"] =~ "www.dogguy.org" {
url.rewrite = (
"^/blog/((wp-.+)|images).*/?" => "$0",
"^/blog/(sitemap.xml)" => "$0",
"^/blog/(xmlrpc.php)" => "$0",
"^/blog/page/([0-9]+)/?$" => "/blog/index.php?paged=$1",
"^/blog/([0-9]+)/?$" => "/blog/index.php?m=$1",
"^/blog/([0-9]+)/([0-9]+)/?$" => "/blog/index.php?m=$1$2",
"^/blog/([0-9]+)/([0-9]+)/page/([0-9]+)/?$" => "/blog/index.php?m=$1$2&paged=$3",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/?$" => "/blog/index.php?m=$1$2$3",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/([_0-9a-zA-Z-]+)/?$" => "/blog/index.php?year=$1&monthnum=$2&day=$3&name=$4",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/([_0-9a-zA-Z-]+)/trackback/?$" => "/blog/wp-trackback.php?year=$1&monthnum=$2&day=$3&name=$4",
"^/blog/([0-9]+)/([0-9]+)/([0-9]+)/([_0-9a-zA-Z-]+)/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?year=$1&monthnum=$2&day=$3&name=$4&feed=$5",
"^/blog/([_0-9a-zA-Z-]+)/?$" => "/blog/index.php?page_id=$1",
"^/blog/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?feed=$2",
"^/blog/comments/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?feed=comments-$1",
"^/blog/(.+)/([0-9]+)/[^/]+/?/trackback/?$" => "/blog/index.php?category_name=$1&p=$2&tb=1",
"^/blog/category/(.+)/page/([0-9]+)/?$" => "/blog/index.php?category_name=$1&paged=$2",
"^/blog/category/(.+)/(feed|rdf|rss|rss2|atom)/?$" => "/blog/index.php?category_name=$1&feed=$2",
"^/blog/category/(.+)/?$" => "/blog/index.php?category_name=$1",
)
}