History of PrettyUrls

PrettyUrls use the Apache webserver's ))mod_rewrite(( module to handle URL rewriting to convert browser references such as
__http://www.example.com/blogs/1__
to web server references such as
__http://www.example.com/blogs/index.php?post_id=1__

So far Blogs, Wiki, Fisheye and Users have had code added to handle the feature:

!!Where to find it

Look for PrettyUrls in Admin -> Kernel -> Features
(mydomain.xx/kernel/admin/index.php?page=features)

''NB: If mod_rewrite is not activated, activating this feature will generally disable all the links in left and right hand columns.''

!!About ))mod_rewrite((

))mod_rewrite(( comes as part of apache by default and has to be enabled in your httpd.conf file:
{CODE source='Apache'}
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
{/CODE}
goes to
{CODE source='Apache'}
<Directory />
Options FollowSymLinks
AllowOverride FileInfo
</Directory>
{/CODE}

this should be done for the / dir and your html dir such as /var/www/

!!! First note
Depending on your web server configuration, the default supplied .htaccess files may not work. One thing to try is to comment out the "RewriteBase" line in the file. For example:

{CODE source='Apache'}
RewriteBase /wiki/
{/CODE}
goes to
{CODE source='Apache'}
# RewriteBase /wiki/
{/CODE}

!!! Second note
There can be issues with ))mod_rewrite(( in apache when your pretty url partially matches a filename that already phisycally exists in the same directory and Option ))MultiViews(( is turned on. For example in Treasury package:

{CODE source='Apache'}
RewriteRule ^download/([0-9]+)?(\&.*)?$ download.php?content_id=$1$2 [L,QSA]{/CODE}
Apache searches for a file ''download'' and it partially matches ''download.php''. Option ))MultiViews(( allows apache to reach ''download.php'' literally as ''download.php'' but also as ''download''. It happends before RewriteRule is applied, so in fact your request goes do ''download.php'' but because of ))MultiViews((, not mod_rewrite and therefore with no arguments.

To solve this you have to turn off Option ))MutliViews(( in your apache configuration or in this directory in your .htaccess file:

{CODE source='Apache'}
Option -MutliViews
RewriteRule ^download/([0-9]+)?(\&.*)?$ download.php?content_id=$1$2 [L,QSA]{/CODE}
Information about apache's ))MultiViews(( can be found on [http://httpd.apache.org/docs/2.2/content-negotiation.html#page-header] and some blog posts that explain it are on [http://drupal.org/node/42987] and [http://www.gerd-riesselmann.net/archives/2005/04/beware-of-apaches-multiviews].


!!See Also:
* ((FeaturePrettyUrlsExtended))
Page History
Date/CommentUserIPVersion
30 Jun 2008 (09:17 UTC)
Kozuch85.207.244.16010
Current • Source
mlpvolt69.195.4.528
View • Compare • Difference • Source
KainX12.203.189.347
View • Compare • Difference • Source
James Thompson64.65.89.2276
View • Compare • Difference • Source
xing194.152.164.454
View • Compare • Difference • Source
SEWilco207.195.192.93
View • Compare • Difference • Source
spiderr66.93.240.2042
View • Compare • Difference • Source