mod_rewrite not working for Apache 2.2 on Windows 7

23,951

Solution 1

on apache config, changing "AllowOverride" to "All" on the definition of the DocumentRoot will solve the issue

Solution 2

Double check the name of the .htaccess file. Windows doesn't like to let you create a file with nothing before the period. "You must type a filename".

Two options.

  • Change AccessFileName to use a different filename.
  • Using the command line to "rename htaccess .htaccess" will work.
Share:
23,951
Aaron Franco
Author by

Aaron Franco

15 years history of generating breakthrough results in the areas of engineering management and software innovation in high-tech high-growth companies. Innovative hands-on engineering leader with a passion for building high-quality distributed systems that scale.

Updated on May 10, 2020

Comments

  • Aaron Franco
    Aaron Franco almost 4 years

    I have WampServer up and running on my Windows 7 machine. It is installed in C:/wamp. I have set up my configuration using the following VirtualHosts in the C:/wamp/bin/apache/Apache2.2.1.7/conf/extras/httpd-vhosts

    NameVirtualHost *:80
    
    <VirtualHost *:80>
                    ServerName localhost
                    ServerAlias localhost
                    DocumentRoot "C:/wamp/www"
                    <Directory "C:/wamp/www">
                                    Options Indexes Includes FollowSymLinks ExecCGI MultiViews
                                    AllowOverride all
                                    Order Allow,Deny
                                    Allow from all
                    </Directory>
    </VirtualHost>
    
    
    <VirtualHost *:80>
                    DocumentRoot "C:/wamp/www/DevelopmentServer/clickslide/webroot"
                    ServerName clickslide.loc
                    <Directory "C:/wamp/www/DevelopmentServer/clickslide/webroot">
                                    Options Indexes Includes FollowSymLinks ExecCGI MultiViews
                                    AllowOverride all
                                    Order Allow,Deny
                                    Allow from all
                    </Directory>
                    DirectoryIndex     index.html index.php
        AccessFileName     .htaccess
                    AddType application/x-httpd-php .php
        AddType application/x-httpd-php .php3
    </VirtualHost>
    

    My server starts and stops fine, and serves HTML files and PHP files just fine but it ignores my .htaccess directives. I have MAMP with Apache set up on my Macintosh and the htaccess works fine. With that said I think I’m missing something obvious on Windows.

    Here are the contents of my htaccess

    RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    

    I have even tried adding some Garbage to that which does not cause a server error so I know the htaccess is not being read.

    Here is my config file

    ServerRoot "c:/wamp/bin/apache/apache2.2.17"
    
    
    Listen 80
    
    
    LoadModule actions_module modules/mod_actions.so
    LoadModule alias_module modules/mod_alias.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_alias_module modules/mod_authn_alias.so
    #LoadModule authn_anon_module modules/mod_authn_anon.so
    #LoadModule authn_dbd_module modules/mod_authn_dbd.so
    #LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authn_file_module modules/mod_authn_file.so
    #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
    #LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_default_module modules/mod_authz_default.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 cache_module modules/mod_cache.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 env_module modules/mod_env.so
    #LoadModule expires_module modules/mod_expires.so
    #LoadModule ext_filter_module modules/mod_ext_filter.so
    #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 mem_cache_module modules/mod_mem_cache.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
    LoadModule php5_module "c:/wamp/bin/php/php5.3.5/php5apache2_2.dll"
    
    <IfModule !mpm_netware_module>
    <IfModule !mpm_winnt_module>
    User daemon
    Group daemon
    
    </IfModule>
    </IfModule>
    
    
    ServerAdmin admin@localhost
    
    ServerName localhost:80
    
    DocumentRoot "c:/wamp/www/"
    
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    
    <Directory "c:/wamp/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
    #   onlineoffline tag - don't remove
        Order Allow,Deny
        Allow from all
    </Directory>
    
    <IfModule dir_module>
        DirectoryIndex index.php index.php3 index.html index.htm
    </IfModule>
    
    <FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>
    
    ErrorLog "c:/wamp/logs/apache_error.log"
    
    LogLevel warn
    
    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
    
        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
    
        CustomLog "c:/wamp/logs/access.log" common
    </IfModule>
    
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "cgi-bin/"
    </IfModule>
    
    
    <Directory "cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
    
    DefaultType text/plain
    
    <IfModule mime_module>
        TypesConfig conf/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php .php3
    </IfModule>
    
    
    Include conf/extra/httpd-autoindex.conf
    Include conf/extra/httpd-vhosts.conf
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>
    
    Include "c:/wamp/alias/*"