Project

General

Profile

Feature #40092 ยป 0001-Remove-FastCGI-example-files-to-drop-FastCGI-support.patch

Go MAEDA, 2024-01-22 14:57

View differences:

public/dispatch.fcgi.example
1
#!/usr/bin/env ruby
2

  
3
require File.dirname(__FILE__) + '/../config/boot'
4
require File.dirname(__FILE__) + '/../config/environment'
5

  
6
class Rack::PathInfoRewriter
7
  def initialize(app)
8
    @app = app
9
  end
10

  
11
  def call(env)
12
    env.delete('SCRIPT_NAME')
13
    parts = env['REQUEST_URI'].split('?')
14
    env['PATH_INFO'] = parts[0]
15
    env['QUERY_STRING'] = parts[1].to_s
16
    @app.call(env)
17
  end
18
end
19

  
20
Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(RedmineApp::Application)
public/htaccess.fcgi.example
1
# General Apache options
2
<IfModule mod_fastcgi.c>
3
    AddHandler fastcgi-script .fcgi
4
</IfModule>
5
<IfModule mod_fcgid.c>
6
    AddHandler fcgid-script .fcgi
7
</IfModule>
8
Options +FollowSymLinks +ExecCGI
9

  
10
# If you don't want Rails to look in certain directories,
11
# use the following rewrite rules so that Apache won't rewrite certain requests
12
#
13
# Example:
14
#   RewriteCond %{REQUEST_URI} ^/notrails.*
15
#   RewriteRule .* - [L]
16

  
17
# Redirect all requests not available on the filesystem to Rails
18
# By default the cgi dispatcher is used which is very slow
19
#
20
# For better performance replace the dispatcher with the fastcgi one
21
#
22
# Example:
23
#   RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
24
RewriteEngine On
25

  
26
# If your Rails application is accessed via an Alias directive,
27
# then you MUST also set the RewriteBase in this htaccess file.
28
#
29
# Example:
30
#   Alias /myrailsapp /path/to/myrailsapp/public
31
#   RewriteBase /myrailsapp
32

  
33
RewriteRule ^$ index.html [QSA]
34
RewriteRule ^([^.]+)$ $1.html [QSA]
35
RewriteCond %{REQUEST_FILENAME} !-f
36
<IfModule mod_fastcgi.c>
37
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
38
</IfModule>
39
<IfModule mod_fcgid.c>
40
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
41
</IfModule>
42

  
43
# In case Rails experiences terminal errors
44
# Instead of displaying this message you can supply a file here which will be rendered instead
45
#
46
# Example:
47
#   ErrorDocument 500 /500.html
48

  
49
ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
    (1-1/1)