Skip to content

Instantly share code, notes, and snippets.

@metacritical
Forked from BrandonMathis/.htaccess
Created December 9, 2011 23:11
Show Gist options
  • Save metacritical/1453751 to your computer and use it in GitHub Desktop.
Save metacritical/1453751 to your computer and use it in GitHub Desktop.
sinatra htaccess for bluehost
# General Apache options
AddHandler fcgid-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
RewriteBase /
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
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 "<h2>Application error</h2>Rails application failed to start properly"
#!/usr/bin/ruby
#
# Sample dispatch.fcgi to make Sinatra work on Bluehost
#
# http://www.sinatrarb.com/
#
ENV["GEM_HOME"] = "/home4/mathiswe/ruby/gems"
require 'rubygems'
# *** CONFIGURE HERE ***
# Because the fcgi environment is sterile make sure to prepend
# local gem dir to front of gem path. Find gem dir with:
# $ ruby -e 'require "rubygems"; p Gem.path.shift'
# sinatra should load now
require 'sinatra'
module Rack
class Request
def path_info
@env["REDIRECT_URL"].to_s
end
def path_info=(s)
@env["REDIRECT_URL"] = s.to_s
end
end
end
# Define your Sinatra application here
class MyApp < Sinatra::Application
get '/hi' do
"Hello World!"
end
end
builder = Rack::Builder.new do
use Rack::ShowStatus
use Rack::ShowExceptions
map '/' do
run MyApp.new
end
end
Rack::Handler::FastCGI.run(builder)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment