简体   繁体   中英

Apache2 - Mod_rewrite and .htaccess

I am using Ubuntu 14.04 and apache 2.

Here is my phpinfo file: https://www.vivashost.com/phpinfo.php

Here is my .htacess file:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^feature-pricing-tables.html$ feature.html

Here is my /etc/apache2/sistes-available/000-default.conf file:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ServerName vivashost.com
    Redirect "/" https://www.vivashost.com/ 


    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

But when i try to open https://www.vivashost.com/feature.html it is giving me 404 error.

I am trying to make a rewrite rule that when you open feature.html apache2 must load the content from feature-pricing-tables.html file.

Where is my mistake, can you please help me out fix this thing ?

Thanks in advance!

This is a very common mistake that is made: You've declared the rule backwards.

Currently, your rule says that if I access feature-pricing-tables.html , then load up the content of feature.html .

Use this instead:

RewriteRule ^feature.html$ feature-pricing-tables.html [L]

Also, the L flag is necessary here - in case you add any other rules, you want to stop processing if there's a match for this rule.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM