Hi,
I wanted to run my scripts using FastCGI (I’m using RoR 2.0.2 with
Fedora Core 6 Linux), so following advice online, I changed this line
in my public/.htaccess file
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
to
RewriteRule ^(.*)$ dispatch.fcgi [QSA, L]
and now I get a 500 internal server error when I visit
http://mydomain.com/public/.
Here is the entry Apache’s error log:
[Tue Feb 26 09:04:09 2008] [alert] [client 67.190.94.163] /usr/local/
apache2/htdocs/easyrx/public/.htaccess: RewriteCond: bad flag
delimiters
And below is my public/.htaccess file in its entirety. Any ideas? -
Dave
==============Begin public/.htaccess file========================
General Apache options
AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI
If you don’t want Rails to look in certain directories,
use the following rewrite rules so that Apache won’t rewrite certain
requests
Example:
RewriteCond %{REQUEST_URI} ^/notrails.*
RewriteRule .* - [L]
Redirect all requests not available on the filesystem to Rails
By default the cgi dispatcher is used which is very slow
For better performance replace the dispatcher with the fastcgi one
Example:
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
RewriteEngine On
If your Rails application is accessed via an Alias directive,
then you MUST also set the RewriteBase in this htaccess file.
Example:
Alias /myrailsapp /path/to/myrailsapp/public
RewriteBase /myrailsapp
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ dispatch.cgi [QSA,L]
#RewriteRule ^(.)$ dispatch.fcgi [QSA, L]
In case Rails experiences terminal errors
Instead of displaying this message you can supply a file here which
will be rendered instead
Example:
ErrorDocument 500 /500.html
ErrorDocument 500 “
Application error
Rails application failedto start properly”
================end public/.htaccess file========================