|
Posted by "Jeroen de Jong" on 10/18/05 23:02
In your Apache config or .htaccess file you could do something like:
RewriteEngine On
RewriteRule ^/static([a-z]+)\.php$ /staticpage.php?template=$1 [L]
see: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
Jeroen
----- Original Message -----
From: "Josh Santangelo" <joshs@endquote.com>
To: <smarty-general@lists.php.net>
Sent: Tuesday, October 18, 2005 9:31 PM
Subject: [SMARTY] default templates?
I'm working on a site that has a lot of dynamic content for which there
are PHP scripts and Smarty templates for each. Additionally, there is
lots of static content that does not need a separate PHP script for each.
Explaining the layout might help understand the problem:
/private/
/private/templates/
/private/templates/dynamicpage.tpl
/private/templates/staticpage.tpl
/public/ (the public web root)
/public/dynamicpage.php
So when a browser goes to http://host/dynamicpage.php, that script runs
and pulls in dynamicpage.tpl. What I'd like to do is be able to go to
http://host/staticpage.php and pull up staticpage.tpl without
staticpage.php actually existing.
This is because I don't want to create a ton of staticpage.php files for
each page of static content -- there would be hundreds of them in this
case, and would make for a maintenance nightmare.
I don't want to do something like
/staticpage.php?template=staticpage.tpl, because that's ugly and not
search-friendly.
I can't do /staticpage.php/staticpage.tpl, because PHP is running as CGI
and not as a module, and apparently that doesn't work.
I don't want to do some kind of trick with a custom 404 page, because
then the log will fill up with 404 errors.
I figure the answer must be some sort of mod_rewrite trick, which I
could sit around and figure out, or I could ask here because I'm sure
it's been done already. :)
-josh
--
Smarty General Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[Back to original message]
|