“此处不允许使用RewriteEngine”。使用XAMPP时出现.htaccess错误

时间:2012-11-07 20:50:40

标签: apache .htaccess mod-rewrite xampp

我正在尝试配置Apache以允许.htaccess重写规则。我正在使用XAMPP在本地运行Apache。但是,我一直有500个错误。我已经谷歌搜索了几个小时,并尝试了所有常见的解决方案,所以请阅读我的整个帖子,以免重复我已经尝试过的解决方案。

当我检查apache错误日志时,错误显示为:

  

“C:/xampp/htdocs/xampp/websites/demo2/.htaccess:此处不允许使用RewriteEngine”。

几乎我能找到的所有其他人都有这个问题通过以下方式解决了这个问题:

  1. 取消注释httpd.conf中的LoadModule rewrite_module modules/mod_rewrite.so命令
  2. AllowOverride none更改为AllowOverride All
  3. 然而,这些解决方案都没有对我有用。我仍然得到500错误。我的问题听起来与这个帖子http://forums.digitalpoint.com/showthread.php?t=1786841完全相同,但这个问题从未解决过。我认为错误可能是我的.htaccess文件的位置,但我不知道。非常感谢任何见解!

    顺便说一句,这是我的.htaccess文件。这是一个Wordpress安装:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /xampp/websites/demo2/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /xampp/websites/demo2/index.php [L]
    </IfModule>
    
    # END WordPress
    

    这是我的httpd.conf文件

    
        #
        # This is the main Apache HTTP server configuration file.  It contains the
        # configuration directives that give the server its instructions.
        # See  for detailed information.
        # In particular, see 
        # 
        # for a discussion of each configuration directive.
        #
        # Do NOT simply read the instructions in here without understanding
        # what they do.  They're here only as hints or reminders.  If you are unsure
        # consult the online docs. You have been warned.  
        #
        # Configuration and logfile names: If the filenames you specify for many
        # of the server's control files begin with "/" (or "drive:/" for Win32), the
        # server will use that explicit path.  If the filenames do *not* begin
        # with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
        # with ServerRoot set to "/xampp/apache" will be interpreted by the
        # server as "/xampp/apache/logs/foo.log".
        #
        # NOTE: Where filenames are specified, you must use forward slashes
        # instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
        # If a drive letter is omitted, the drive on which httpd.exe is located
        # will be used by default.  It is recommended that you always supply
        # an explicit drive letter in absolute paths to avoid confusion.
    
        #
        # ServerRoot: The top of the directory tree under which the server's
        # configuration, error, and log files are kept.
        #
        # Do not add a slash at the end of the directory path.  If you point
        # ServerRoot at a non-local disk, be sure to point the LockFile directive
        # at a local disk.  If you wish to share the same ServerRoot for multiple
        # httpd daemons, you will need to change at least LockFile and PidFile.
        #
        ServerRoot "/xampp/apache"
    
        #
        # Listen: Allows you to bind Apache to specific IP addresses and/or
        # ports, instead of the default. See also the 
        # directive.
        #
        # Change this to Listen on specific IP addresses as shown below to 
        # prevent Apache from glomming onto all bound IP addresses.
        #
        #Listen 0.0.0.0:80
        #Listen [::]:80
        Listen 80
    
        # Default charset UTF8
        # AddDefaultCharset utf-8
    
        #
        # Dynamic Shared Object (DSO) Support
        #
        # To be able to use the functionality of a module which was built as a DSO you
        # have to place corresponding `LoadModule' lines at this location so the
        # directives contained in it are actually available _before_ they are used.
        # Statically compiled modules (those listed by `httpd -l') do not need
        # to be loaded here.
        #
        # Example:
        # LoadModule foo_module modules/mod_foo.so
        #
    
        LoadModule access_compat_module modules/mod_access_compat.so
        LoadModule actions_module modules/mod_actions.so
        LoadModule alias_module modules/mod_alias.so
        LoadModule allowmethods_module modules/mod_allowmethods.so
        LoadModule asis_module modules/mod_asis.so
        LoadModule auth_basic_module modules/mod_auth_basic.so
        #LoadModule auth_digest_module modules/mod_auth_digest.so
        #LoadModule authn_anon_module modules/mod_authn_anon.so
        LoadModule authn_core_module modules/mod_authn_core.so
        #LoadModule authn_dbd_module modules/mod_authn_dbd.so
        #LoadModule authn_dbm_module modules/mod_authn_dbm.so
        LoadModule authn_file_module modules/mod_authn_file.so
        #LoadModule authn_socache_module modules/mod_authn_socache.so
        #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
        LoadModule authz_core_module modules/mod_authz_core.so
        #LoadModule authz_dbd_module modules/mod_authz_dbd.so
        #LoadModule authz_dbm_module modules/mod_authz_dbm.so
        LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
        LoadModule authz_host_module modules/mod_authz_host.so
        #LoadModule authz_owner_module modules/mod_authz_owner.so
        LoadModule authz_user_module modules/mod_authz_user.so
        LoadModule autoindex_module modules/mod_autoindex.so
        #LoadModule bucketeer_module modules/mod_bucketeer.so
        #LoadModule cache_module modules/mod_cache.so
        #LoadModule case_filter_module modules/mod_case_filter.so
        #LoadModule case_filter_in_module modules/mod_case_filter_in.so
        #LoadModule cern_meta_module modules/mod_cern_meta.so
        LoadModule cgi_module modules/mod_cgi.so
        #LoadModule charset_lite_module modules/mod_charset_lite.so
        #LoadModule dav_module modules/mod_dav.so
        #LoadModule dav_fs_module modules/mod_dav_fs.so
        LoadModule dav_lock_module modules/mod_dav_lock.so
        #LoadModule dbd_module modules/mod_dbd.so
        #LoadModule deflate_module modules/mod_deflate.so
        LoadModule dir_module modules/mod_dir.so
        #LoadModule disk_cache_module modules/mod_disk_cache.so
        #LoadModule dumpio_module modules/mod_dumpio.so
        #LoadModule echo_module modules/mod_echo.so
        LoadModule env_module modules/mod_env.so
        #LoadModule example_module modules/mod_example.so
        #LoadModule expires_module modules/mod_expires.so
        #LoadModule ext_filter_module modules/mod_ext_filter.so
        #LoadModule fcgid_module modules/mod_fcgid.so # did not work at runtime
        #LoadModule file_cache_module modules/mod_file_cache.so
        #LoadModule filter_module modules/mod_filter.so
        LoadModule headers_module modules/mod_headers.so
        #LoadModule ident_module modules/mod_ident.so
        #LoadModule imagemap_module modules/mod_imagemap.so
        LoadModule include_module modules/mod_include.so
        LoadModule info_module modules/mod_info.so
        LoadModule isapi_module modules/mod_isapi.so
        #LoadModule ldap_module modules/mod_ldap.so
        #LoadModule logio_module modules/mod_logio.so
        LoadModule log_config_module modules/mod_log_config.so
        #LoadModule log_forensic_module modules/mod_log_forensic.so
        LoadModule cache_disk_module modules/mod_cache_disk.so
        LoadModule mime_module modules/mod_mime.so
        #LoadModule mime_magic_module modules/mod_mime_magic.so
        LoadModule negotiation_module modules/mod_negotiation.so
        LoadModule proxy_module modules/mod_proxy.so
        LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
        #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
        #LoadModule proxy_connect_module modules/mod_proxy_connect.so
        #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
        #LoadModule proxy_http_module modules/mod_proxy_http.so
        LoadModule rewrite_module modules/mod_rewrite.so
        LoadModule setenvif_module modules/mod_setenvif.so
        #LoadModule speling_module modules/mod_speling.so
        LoadModule ssl_module modules/mod_ssl.so
        LoadModule status_module modules/mod_status.so
        #LoadModule substitute_module modules/mod_substitute.so
        #LoadModule unique_id_module modules/mod_unique_id.so
        #LoadModule userdir_module modules/mod_userdir.so
        #LoadModule usertrack_module modules/mod_usertrack.so
        #LoadModule version_module modules/mod_version.so
        #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    
        
        
        #
        # If you wish httpd to run as a different user or group, you must run
        # httpd as root initially and it will switch.  
        #
        # User/Group: The name (or #number) of the user/group to run httpd as.
        # It is usually good practice to create a dedicated user and group for
        # running httpd, as with most system services.
        #
        User daemon
        Group daemon
    
        
        
    
        # 'Main' server configuration
        #
        # The directives in this section set up the values used by the 'main'
        # server, which responds to any requests that aren't handled by a
        #  definition.  These values also provide defaults for
        # any  containers you may define later in the file.
        #
        # All of these directives may appear inside  containers,
        # in which case these default settings will be overridden for the
        # virtual host being defined.
        #
    
        #
        # ServerAdmin: Your address, where problems with the server should be
        # e-mailed.  This address appears on some server-generated pages, such
        # as error documents.  e.g. admin@your-domain.com
        #
        ServerAdmin postmaster@localhost
    
        #
        # ServerName gives the name and port that the server uses to identify itself.
        # This can often be determined automatically, but we recommend you specify
        # it explicitly to prevent problems during startup.
        #
        # If your host doesn't have a registered DNS name, enter its IP address here.
        #
        ServerName localhost:80
    
        #
        # DocumentRoot: The directory out of which you will serve your
        # documents. By default, all requests are taken from this directory, but
        # symbolic links and aliases may be used to point to other locations.
        #
        DocumentRoot "/xampp/htdocs"
    
        #
        # Each directory to which Apache has access can be configured with respect
        # to which services and features are allowed and/or disabled in that
        # directory (and its subdirectories). 
        #
        # First, we configure the "default" to be a very restrictive set of 
        # features.  
        #
        
            AllowOverride All
            Require all granted
        
    
    
        # XAMPP: We disable operating system specific optimizations for a listening 
        # socket by the http protocol here. IE 64 bit make problems without this.  
        AcceptFilter http none
    
        #
        # Note that from this point forward you must specifically allow
        # particular features to be enabled - so if something's not working as
        # you might expect, make sure that you have specifically enabled it
        # below.
        #
    
        #
        # This should be changed to whatever you set DocumentRoot to.
        #
        
            #
            # Possible values for the Options directive are "None", "All",
            # or any combination of:
            #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
            #
            # Note that "MultiViews" must be named *explicitly* --- "Options All"
            # doesn't give it to you.
            #
            # The Options directive is both complicated and important.  Please see
            # http://httpd.apache.org/docs/2.2/mod/core.html#options
            # for more information.
            #
            Options Indexes FollowSymLinks Includes ExecCGI
    
            #
            # AllowOverride controls what directives may be placed in .htaccess files.
            # It can be "All", "None", or any combination of the keywords:
            #   Options FileInfo AuthConfig Limit
            #
            AllowOverride All
    
            #
            # Controls who can get stuff from this server.
            #
            Require all granted
    
        
    
        #
        # DirectoryIndex: sets the file that Apache will serve if a directory
        # is requested.
        #
        
            DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
                           default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
                           home.php home.pl home.cgi home.asp home.shtml home.html home.htm
        
    
        #
        # The following lines prevent .htaccess and .htpasswd files from being 
        # viewed by Web clients. 
        #
        
            Require all denied
        
    
        #
        # ErrorLog: The location of the error log file.
        # If you do not specify an ErrorLog directive within a 
        # container, error messages relating to that virtual host will be
        # logged here.  If you *do* define an error logfile for a 
        # container, that host's errors will be logged there and not here.
        #
        ErrorLog "logs/error.log"
    
        #ScriptLog "logs/cgi.log"
    
        #
        # LogLevel: Control the number of messages logged to the error_log.
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        #
        LogLevel warn
    
        
            #
            # The following directives define some format nicknames for use with
            # a CustomLog directive (see below).
            #
            LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
            LogFormat "%h %l %u %t \"%r\" %>s %b" common
    
            
              # You need to enable mod_logio.c to use %I and %O
              LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
            
    
            #
            # The location and format of the access logfile (Common Logfile Format).
            # If you do not define any access logfiles within a 
            # container, they will be logged here.  Contrariwise, if you *do*
            # define per- access logfiles, transactions will be
            # logged therein and *not* in this file.
            #
            #CustomLog "logs/access.log" common
    
            #
            # If you prefer a logfile with access, agent, and referer information
            # (Combined Logfile Format) you can use the following directive.
            #
            CustomLog "logs/access.log" combined
        
    
        
            #
            # Redirect: Allows you to tell clients about documents that used to 
            # exist in your server's namespace, but do not anymore. The client 
            # will make a new request for the document at its new location.
            # Example:
            # Redirect permanent /foo http://localhost/bar
    
            #
            # Alias: Maps web paths into filesystem paths and is used to
            # access content that does not live under the DocumentRoot.
            # Example:
            # Alias /webpath /full/filesystem/path
            #
            # If you include a trailing / on /webpath then the server will
            # require it to be present in the URL.  You will also likely
            # need to provide a  section to allow access to
            # the filesystem path.
    
            #
            # ScriptAlias: This controls which directories contain server scripts. 
            # ScriptAliases are essentially the same as Aliases, except that
            # documents in the target directory are treated as applications and
            # run by the server when requested rather than as documents sent to the
            # client.  The same rules about trailing "/" apply to ScriptAlias
            # directives as to Alias.
            #
            ScriptAlias /cgi-bin/ "/xampp/cgi-bin/"
    
        
    
        
            #
            # ScriptSock: On threaded servers, designate the path to the UNIX
            # socket used to communicate with the CGI daemon of mod_cgid.
            #
            #Scriptsock "logs/cgi.sock"
        
    
        #
        # "/xampp/cgi-bin" should be changed to whatever your ScriptAliased
        # CGI directory exists, if you have that configured.
        #
        
            AllowOverride All
            Options None
            Require all granted
        
    
    
        
            #
            # TypesConfig points to the file containing the list of mappings from
            # filename extension to MIME-type.
            #
            TypesConfig "conf/mime.types"
    
            #
            # AddType allows you to add to or override the MIME configuration
            # file specified in TypesConfig for specific file types.
            #
            #AddType application/x-gzip .tgz
            #
            # AddEncoding allows you to have certain browsers uncompress
            # information on the fly. Note: Not all browsers support this.
            #
            #AddEncoding x-compress .Z
            #AddEncoding x-gzip .gz .tgz
            #
            # If the AddEncoding directives above are commented-out, then you
            # probably should define those extensions to indicate media types:
            #
            AddType application/x-compress .Z
            AddType application/x-gzip .gz .tgz
    
            #
            # AddHandler allows you to map certain file extensions to "handlers":
            # actions unrelated to filetype. These can be either built into the server
            # or added with the Action directive (see below)
            #
            # To use CGI scripts outside of ScriptAliased directories:
            # (You will also need to add "ExecCGI" to the "Options" directive.)
            #
            AddHandler cgi-script .cgi .pl .asp
    
            # For type maps (negotiated resources):
            #AddHandler type-map var
    
            #
            # Filters allow you to process content before it is sent to the client.
            #
            # To parse .shtml files for server-side includes (SSI):
            # (You will also need to add "Includes" to the "Options" directive.)
            #
            AddType text/html .shtml
            AddOutputFilter INCLUDES .shtml
        
    
        
            #
            # The mod_mime_magic module allows the server to use various hints from the
            # contents of the file itself to determine its type.  The MIMEMagicFile
            # directive tells the module where the hint definitions are located.
            #
            MIMEMagicFile "conf/magic"
        
    
        #
        # Customizable error responses come in three flavors:
        # 1) plain text 2) local redirects 3) external redirects
        #
        # Some examples:
        #ErrorDocument 500 "The server made a boo boo."
        #ErrorDocument 404 /missing.html
        #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
        #ErrorDocument 402 http://localhost/subscription_info.html
        #
    
        #
        # EnableMMAP and EnableSendfile: On systems that support it, 
        # memory-mapping or the sendfile syscall is used to deliver
        # files.  This usually improves server performance, but must
        # be turned off when serving from networked-mounted 
        # filesystems or if support for these functions is otherwise
        # broken on your system.
        #
        #EnableMMAP off
        #EnableSendfile off
    
        # Supplemental configuration
        #
        # The configuration files in the conf/extra/ directory can be 
        # included to add extra features or to modify the default configuration of 
        # the server, or you may simply copy their contents here and change as 
        # necessary.
    
        # XAMPP specific settings
        Include "conf/extra/httpd-xampp.conf"
    
        # Server-pool management (MPM specific)
        Include "conf/extra/httpd-mpm.conf"
    
        # Multi-language error messages
        Include "conf/extra/httpd-multilang-errordoc.conf"
    
        # Fancy directory listings
        Include "conf/extra/httpd-autoindex.conf"
    
        # Language settings
        Include "conf/extra/httpd-languages.conf"
    
        # User home directories
        Include "conf/extra/httpd-userdir.conf"
    
        # Real-time info on requests and configuration
        Include "conf/extra/httpd-info.conf"
    
        # Virtual hosts
        Include "conf/extra/httpd-vhosts.conf"
    
        # Distributed authoring and versioning (WebDAV)
        # Attention! WEB_DAV is a security risk without a new userspecific configuration for a secure authentifcation 
        # Include "conf/extra/httpd-dav.conf"
    
        # Implements a proxy/gateway for Apache.
        Include "conf/extra/httpd-proxy.conf"
    
        # Various default settings
        Include "conf/extra/httpd-default.conf"
    
        # Secure (SSL/TLS) connections
        Include "conf/extra/httpd-ssl.conf"
        #
        # Note: The following must must be present to support
        #       starting without SSL on platforms with no /dev/random equivalent
        #       but a statically compiled-in mod_ssl.
        #
        
            SSLRandomSeed startup builtin
            SSLRandomSeed connect builtin
        
    
        # Configure mod_proxy_html to understand HTML4/XHTML1
        #
        #Include etc/extra/proxy-html.conf
        #
    
        # AJP13 Proxy
        
        
        Include "conf/extra/httpd-ajp.conf"
        
        
    
    

2 个答案:

答案 0 :(得分:10)

在conf / extra / httpd-xampp.conf中将AllowOverride设置为All。

答案 1 :(得分:0)

试试这个:

1)=&gt;打开文件... \ xampp \ apache \ conf \ httpd.conf

2)=&gt;找到行“LoadModule rewrite_module modules / mod_rewrite.so”

3)=&gt;如果这是#之前的行,则删除它。(删除评论)

我希望它能帮到你