[pmwiki-users] Clean URLs .htaccess mod_rewrite problem

marc gmane at auxbuss.com
Mon Dec 4 06:18:09 CST 2006


Hi,

Installation is a default Pmwiki, latest version.

I'm trying, but failing, to route these (with no trailing slashes)

    http://www.auxbuss.com/pmwiki -> http://www.auxbuss.com/pmwiki/
    http://auxbuss.com/pmwiki     -> http://www.auxbuss.com/pmwiki/

The same URLS with trailing slashes work fine. Namely, 

    http://www.auxbuss.com/pmwiki/ -> http://www.auxbuss.com/pmwiki/
    http://auxbuss.com/pmwiki/     -> http://www.auxbuss.com/pmwiki/

www/pmwiki/.htaccess is:

  RewriteEngine on

  # if no trailing slash
  RewriteCond $1 !/$
  # but is a directory when we add a trailing slash
  RewriteCond %{REQUEST_FILENAME}/ -d
  # then add slash and redirect
  RewriteRule (.+) http://www.auxbuss.com/$1/ [R=301,L] 

  RewriteCond %{HTTP_HOST} ^auxbuss.com$ [NC]
  RewriteRule ^(.*)$ http://www.auxbuss.com/pmwiki/$1 [R=301]
  RewriteBase /pmwiki
  # Send requests without parameters to pmwiki.php.
  RewriteRule ^$           index.php [L]
  # Send requests for index.php to pmwiki.php.
  RewriteRule ^index\.php$ pmwiki.php [L]
  # Send requests to pmwiki.php, appending the query string part.
  RewriteRule ^([^/a-z].*) index.php?n=$1  [QSA,L]


Without the first condition/rule set ({REQUEST_FILENAME}, etc.)
  http://www.auxbuss.com/pmwiki -> http://www.auxbuss.com/pmwiki/
works okay, because it the first condition/rule set that isn't correct.

The erroneous result is:

  http://www.auxbuss.com//home/domains/auxbuss.com/web/pmwiki/

In other words the mod_rewrite %{REQUEST_FILENAME} variable is being
used for the $1 in the rewrite rule instead of 'pmwiki', as I want.

Can someone please advise on the correct way to do this. Thanks.

-- 
Best,
Marc





More information about the pmwiki-users mailing list