# Rails rewrites URL by appending "dispatch.cgi" to URL

**URL:** <https://www.ruby-forum.com/t/rails-rewrites-url-by-appending-dispatch-cgi-to-url/167218>\
**Category:** Deployment\
**Created:** [May 5, 2009, 5:07pm UTC](https://www.ruby-forum.com/t/rails-rewrites-url-by-appending-dispatch-cgi-to-url/167218 "2009-05-05T17:07:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![augusto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/3e96dc/32.png) [@augusto](https://www.ruby-forum.com/u/augusto)\
**Post date:** [May 5, 2009, 5:07pm UTC](https://www.ruby-forum.com/t/rails-rewrites-url-by-appending-dispatch-cgi-to-url/167218/1 "2009-05-05T17:07:36Z")

</div>

hi-

i have a rails running on a server, but when i access my site as:

“[http://test.com](http://test.com)”

it rewrites the URL with the name of the dispatch.cgi script:

“[http://test.comdispatch.cgi](http://test.comdispatch.cgi)%2Flist\_topics”

which then fails to resolve.

i’m using the standard .htaccess file and dispatch.cgi file.

any ideas?

thanks,  
augusto.

# .htaccess

# Options +FollowSymLinks +ExecCGI AddHandler cgi-script .cgi RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST\_FILENAME} !-f RewriteRule ^(.\*)$ dispatch.cgi [QSA,L] ErrorDocument 500 “

## Application error
Rails application failed to  
start properly”
# dispatch.cgi

# #!/usr/bin/ruby require File.dirname( **FILE** ) + “/…/config/environment” unless defined?(RAILS\_ROOT) require “dispatcher” ADDITIONAL\_LOAD\_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun) Dispatcher.dispatch

# routes.rb

# ActionController::Routing::Routes.draw do |map| map.connect ‘:action/:id’, :controller=\>‘board’ end

# board\_controller.rb

# class BoardController \< ApplicationController def index redirect\_to :action=\>‘list\_topics’ end

---

<div class="post-metadata">

**Author:** ![augusto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/3e96dc/32.png) [@augusto](https://www.ruby-forum.com/u/augusto)\
**Post date:** [July 7, 2009, 1:33pm UTC](https://www.ruby-forum.com/t/rails-rewrites-url-by-appending-dispatch-cgi-to-url/167218/2 "2009-07-07T13:33:27Z")

</div>

Augusto,

Can you try the below .htaccess and see if that helps.

# CGI

AddHandler fastcgi-script .fcgi  
AddHandler cgi-script .cgi  
Options +FollowSymLinks +ExecCGI  
RewriteEngine On

RewriteRule ^$ index.html [QSA]  
RewriteRule ^([^.]+)$ $1.html [QSA]  
RewriteCond %{REQUEST\_FILENAME} !-f  
RewriteRule ^(.\*)$ dispatch.cgi [QSA,L]

# ErrorDocument 500 “

## Application error
Rails application failed to  
start properly”
# FCGI

AddHandler cgi-script .cgi  
Options +FollowSymLinks +ExecCGI  
RewriteEngine On

RewriteRule ^$ index.html [QSA]  
RewriteRule ^([^.]+)$ $1.html [QSA]  
RewriteCond %{REQUEST\_FILENAME} !-f  
RewriteRule ^(.\*)$ dispatch.fcgi [QSA,L]

# ErrorDocument 500 “

## Application error
Rails application failed to  
start properly”

Thanks,  
Kilari.  
[http://kilari.co.in](http://kilari.co.in)

Augusto Callejas wrote:

> hi-
> 
> i have a rails running on a server, but when i access my site as:
> 
> “[http://test.com](http://test.com)”
> 
> it rewrites the URL with the name of the dispatch.cgi script:
> 
> “[http://test.comdispatch.cgi](http://test.comdispatch.cgi)%2Flist\_topics”
> 
> which then fails to resolve.
> 
> i’m using the standard .htaccess file and dispatch.cgi file.
> 
> any ideas?
> 
> thanks,  
> augusto.
> 
> # .htaccess
> 
> # Options +FollowSymLinks +ExecCGI AddHandler cgi-script .cgi RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST\_FILENAME} !-f RewriteRule ^(.\*)$ dispatch.cgi [QSA,L] ErrorDocument 500 “
> 
> ## Application error
> Rails application failed to  
> start properly”
> # dispatch.cgi
> 
> # #!/usr/bin/ruby require File.dirname( **FILE** ) + “/…/config/environment” unless defined?(RAILS\_ROOT) require “dispatcher” ADDITIONAL\_LOAD\_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun) Dispatcher.dispatch
> 
> # routes.rb
> 
> # ActionController::Routing::Routes.draw do |map| map.connect ‘:action/:id’, :controller=\>‘board’ end
> 
> # board\_controller.rb
> 
> # class BoardController \< ApplicationController def index redirect\_to :action=\>‘list\_topics’ end
