本文介绍了麻烦香草篝火/ CI安装和.htaccess的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好了,我的情况是相当简单的(尽管尚未解决)。

OK, so my situation is rather simple (although not yet resolved).

  • 在我下载篝火(为codeIgniter)
  • 创建我的站点文件夹中的新文件夹,假设篝火(我使用的XAMPP适用于Mac)
  • 我要的http://本地主机/〜drkameleon /篝火(其中安装页应该出现基于该文档)
  • 而我收到一条错误信息
  • I downloaded Bonfire (for CodeIgniter)
  • Created a new folder in my Sites folder, let's say bonfire (I'm using XAMPP for Mac)
  • I'm going to http://localhost/~drkameleon/bonfire (where the install page should appear based on the docs)
  • And I'm getting an error message

服务器错误!

服务器遇到一个内部错误,无法完成  你的申请。无论是服务器过载或出现在一个错误  CGI脚本。

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

现在,我在想,它可能是与安装文件夹实际上是一个子文件夹(我认为这是地方在篝火的文件中提到,太)。不过,我还是不知道究竟在巨大的.htaccess 文件与篝火走来来调整。


Now, I'm thinking that it may have something to do with the installation folder actually being a subfolder (I think it's mentioned somewhere in Bonfire's documentation, too). However, I still don't know what exactly to tweak in the huge .htaccess file that comes along with Bonfire.

所以,在这里它是:

# ----------------------------------------------------------------------
# Webfont access
# ----------------------------------------------------------------------

# Allow access from all domains for webfonts.
# Alternatively you could only whitelist your
# subdomains like "subdomain.example.com".

<IfModule mod_headers.c>
  <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
    Header set Access-Control-Allow-Origin "*"
  </FilesMatch>
</IfModule>

# ----------------------------------------------------------------------
# Proper MIME type for all files
# ----------------------------------------------------------------------

  # JavaScript
  #   Normalize to standard type (it's sniffed in IE anyways)
  #   tools.ietf.org/html/rfc4329#section-7.2
  AddType application/javascript         js

  # Audio
  AddType audio/ogg                      oga ogg
  AddType audio/mp4                      m4a

  # Video
  AddType video/ogg                      ogv
  AddType video/mp4                      mp4 m4v
  AddType video/webm                     webm

  # SVG
  #   Required for svg webfonts on iPad
  #   twitter.com/FontSquirrel/status/14855840545
  AddType     image/svg+xml              svg svgz
  AddEncoding gzip                       svgz

  # Webfonts
  AddType application/vnd.ms-fontobject  eot
  AddType application/x-font-ttf         ttf ttc
  AddType font/opentype                  otf
  AddType application/x-font-woff        woff

  # Assorted types
  AddType image/x-icon                        ico
  AddType image/webp                          webp
  AddType text/cache-manifest                 appcache manifest
  AddType text/x-component                    htc
  AddType application/xml                     rss atom xml rdf
  AddType application/x-chrome-extension      crx
  AddType application/x-opera-extension       oex
  AddType application/x-xpinstall             xpi
  AddType application/octet-stream            safariextz
  AddType application/x-web-app-manifest+json webapp
  AddType text/x-vcard                        vcf

# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------

<IfModule mod_deflate.c>

  # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
  <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    </IfModule>
  </IfModule>

  # HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
  <IfModule filter_module>
    FilterDeclare   COMPRESS
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/plain
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/x-component
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/javascript
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/json
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xhtml+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/rss+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/atom+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/vnd.ms-fontobject
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/svg+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/x-icon
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/x-font-ttf
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $font/opentype
    FilterChain     COMPRESS
    FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no
  </IfModule>

  <IfModule !mod_filter.c>
    # Legacy versions of Apache
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
  </IfModule>

</IfModule>

# ----------------------------------------------------------------------
# Start rewrite engine
# ----------------------------------------------------------------------

# Turning on the rewrite engine is necessary for the following rules and features.
# FollowSymLinks must be enabled for this to work.

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Indexes
  RewriteEngine On

  # If you installed Bonfire in a subfolder, you will need to 
  # change the following line to match the subfolder you need. 
  # http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
  RewriteBase /

  #Removes access to the system folder by users.
  #Additionally this will allow you to create a System.php controller,
  #previously this would not have been possible.
  #'system' can be replaced if you have renamed your system folder.
  RewriteCond %{REQUEST_URI} ^bonfire/codeigniter.*
  RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

# Rewrite "www.example.com -> example.com"

<IfModule mod_rewrite.c>
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>



#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------

# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8

# Force UTF-8 for a number of file formats
AddCharset utf-8 .css .js .xml .json .rss .atom

# Block access to "hidden" directories whose names begin with a period. This
# includes directories used by version control systems such as Subversion or Git.
<IfModule mod_rewrite.c>
  RewriteCond %{SCRIPT_FILENAME} -d
  RewriteCond %{SCRIPT_FILENAME} -f
  RewriteRule "(^|/)\." - [F]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 index.php
</IfModule>

如果你已经有了的任意的想法,我会很乐意尝试一下。

If you've got any idea, I'd be more than happy to try it out.

推荐答案

在开始重写引擎部分:

# If you installed Bonfire in a subfolder, you will need to 
# change the following line to match the subfolder you need. 
# http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
RewriteBase /

试着改变你到

Try changing yours to

RewriteBase /~drkameleon/bonfire/

另外仔细检查你有重写模块Apache中激活使用的phpinfo()

这篇关于麻烦香草篝火/ CI安装和.htaccess的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 04:03