How to enable mod_rewrite for Apache 2.2

后端 未结 15 1337
渐次进展
渐次进展 2020-11-21 07:09

I\'ve got fresh install of Apache 2.2 on my Vista machine, everything works fine, except mod rewrite.

I\'ve uncommented

LoadModule rewrite_module mo         


        
15条回答
  •  名媛妹妹
    2020-11-21 07:30

    In order to use mod_rewrite you can type the following command in the terminal:

    sudo a2enmod rewrite
    

    Restart apache2 after

    sudo /etc/init.d/apache2 restart
    

    or

    sudo service apache2 restart
    

    or as per new unified System Control Way

    sudo systemctl restart apache2
    

    Then, if you'd like, you can use the following .htaccess file.

    
        RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]
    
    

    The above .htaccess file (if placed in your DocumentRoot) will redirect all traffic to an index.php file in the DocumentRoot unless the file exists.

    So, let's say you have the following directory structure and httpdocs is the DocumentRoot

    httpdocs/
        .htaccess
        index.php
        images/
            hello.png
        js/
            jquery.js
        css/
            style.css
    includes/
        app/
            app.php
    

    Any file that exists in httpdocs will be served to the requester using the .htaccess shown above, however, everything else will be redirected to httpdocs/index.php. Your application files in includes/app will not be accessible.

提交回复
热议问题