Hi guys,
I had the same problem with permalinks on a Zeus server. I wanted a simple custom /%postname%/ rewrite (so for instance, the URL for the about page would have to be: www.domain.com/about/), but I either ended up with the index.php pushing itself in (www.domain.com/index.php/about/) or a 404 Not Found error.
The main issue seemed to be the Zeus server in my case. It does not work like the Apache .htacces mod_rewrite rules WordPress generates. They need to be converted into "Zeus-ish" regex.
If you are running your WordPress blog on a Zeus server and are having problems with your permalinks after the recent update, try copy pasting this script into the appropriate rewrite rules field in your hosting admin panel. If you're not sure what/where that is, please ask your hosting provider for help. (If you pay them, they should help you with this!)
RULE_0_START:
# get the document root
map path into SCRATCH:DOCROOT from /
# initialize our variables
set SCRATCH:ORIG_URL = %{URL}
set SCRATCH:REQUEST_URI = %{URL}
# see if theres any queries in our URL
match URL into $ with ^(.*)\?(.*)$
if matched then
set SCRATCH:REQUEST_URI = $1
set SCRATCH:QUERY_STRING = $2
endif
RULE_0_END:
RULE_1_START:
# prepare to search for file, rewrite if its not found
set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}
# check to see if the file requested is an actual file or
# a directory with possibly an index. don't rewrite if so
look for file at %{SCRATCH:REQUEST_FILENAME}
if not exists then
look for dir at %{SCRATCH:REQUEST_FILENAME}
if not exists then
set URL = /index.php?q=%{SCRATCH:REQUEST_URI}
goto QSA_RULE_START
endif
endif
# if we made it here then its a file or dir and no rewrite
goto END
RULE_1_END:
QSA_RULE_START:
# append the query string if there was one originally
# the same as [QSA,L] for apache
match SCRATCH:ORIG_URL into % with \?(.*)$
if matched then
set URL = %{URL}&%{SCRATCH:QUERY_STRING}
endif
goto END
QSA_RULE_END:
You can find the original script here: http://drupal.org/node/46508
It worked for me, and believe me... I'm very technically challenged ;-)
cheers,
adRem