Hey, guys.
I am considering using Radiant to run my site, since I just love its
simplicity and extensibility. This is a great product, thank you for
writing it!
So here’s my question: What if I want to use Radiant to run the root
of my site, but I want to have different apps in it, running from
subdirectories / subdomains?
I’ll try to explain a bit better:
Say I install Radiant in my site, at http://www.example.com/. I manage
my blog and static pages from Radiant, and everything is beautiful.
Then I want to write a small Rails app of my own and host it in
http://www.example.com/myapp/.
I figured I’d just have a symlink inside Radiant’s public/ dir to
myapp/public, but I am not sure all the rewriting .htaccess magic will
“just work”, since, as I understand it, Apache might think an address
like http://www.example.com/myapp/mycontroller/myaction/ is actually
something to be redirected to Radiant, and not to MyApp.
Does anyone here have any experience with such settings?
Thanks a lot, and keep up the great work!
Marcelo.
Marcelo,
If you don’t require any integration between Radiant and your other
applications, the proper way to do it would be in your webserver
configuration, with rewrite rules, perhaps. Then your apps don’t need
to necessarily know about each other. This is the way we did it at
KCKCC, with Litespeed web server. For example:
http://kckcc.edu/ (Radiant)
http://kckcc.edu/college-support-services/buildings-and-grounds/events/
(A room reservation calendar, separate Rails app)
http://kckcc.edu/library/morgue (A journal index Rails app)
http://kckcc.edu/academics/class-schedules (The POST location of the
form is a Perl script on another box, through proxy)
As you can see, there are lots of ways to make your apps look integrated
into your main site.
Sean
Hi, Sean.
I appreciate your help, and that’s exactly what I had in mind.
So, I think I know how to get this to work, but could you just confirm
it for me? What I’m thinking is that I’d have to edit the .htaccess
file on the root directory (which is Radiant’s public directory) and
make Apache bypass the rewriting for this directory. Something like:
myRadiantApp/public/.htaccess:
RewriteCond %{REQUEST_URI} ^/myOtherApp*
RewriteRule .* - [L]
And then the .htaccess file inside /myOtherApp would catch those
requests and use its own rewriting rules to make everything work.
Is this how that’s supposed to work? I imagine I might have to tweak
it here and there a little bit, but do you think this is generally how
it should work?
Thank you again (both for Radiant and for the help),
Marcelo.
Hmmmmmm, ok, got it.
The problem is I use a shared RailsPlayground account… So that’s
Apache + FCGI, and no httpd.conf access. I guess that would be too
much of a pain, then?
Thanks again,
Marcelo.
Marcelo,
Unless you’re using FCGI to host your Radiant and other apps, I would
advise against using the .htaccess. It’s better to do the configuration
in a regular config file, whether the main Apache httpd.conf or an
included file. I would also either alias given URL paths to your other
apps’ public directories or use rewrite rules to proxy to the proper
Mongrel-cluster. Placing them as soft links inside your Radiant app is
probably not advisable – it could get too unpredictable.
Sean
If you have access to Webmin or something of the sort, you could still
setup aliases and directories.
Sean
Yeah, I have cPanel, which might do the trick.
But then that is not really a Radiant question, so I’ll try to figure
that out on my own. Thanks a lot for the pointers, that helped me a
lot.
Cheers,
Marcelo.