On a recent project I've got the end users building pages using Textile and creating links like "My Link":local_page, which when followed results in a URL with no trailing slash, e.g. example.com/dir/local_page
This is okay until there's a relative link from local_page to sub_page which yields a URL of example.com/dir/sub_page instead of example.com/dir/local_page/sub_page. I *could* try to train the users to put trailing slashes in their links, but that kind of approach always breaks. I want to rewrite any URLs that don't end with a filename extension to add the trailing slash. I found a similar problem referenced in the mailing list at http://lists.radiantcms.org/pipermail/radiant/2006-September/001859.html which induced me to read a little on mod_rewrite. Here is what I wound up doing in my .htaccess file. I'd love to know if anyone knows a better way of fixing this. # My regex matches when none of the following conditions are met: # URI ends with filename extension: \.[^/]*$ # URI ends with a slash: [^/]/+$ # URI is the top level: ^/$ # URI is in the admin tree: ^/admin.* RewriteCond %{REQUEST_URI} !(\.[^/]+|[^/]/+|^/admin.*|^/$)$ RewriteRule .* %{REQUEST_URI}/ [R,L] The condition excludes the admin tree because without it I disabled the "Clear Page Cache" function. Bill _______________________________________________ Radiant mailing list Post: [email protected] Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant
