.htaccess file not working on Ubuntu 14.04 with ap

2020-06-23 09:02发布

问题:

My .htaccess file doesn't work on my Ubuntu 14.04 with Apache 2.
This is my file:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1

How do i solve my problem?

回答1:

From your information I can only guess ("doesn't work" isn't very specific).
Most probably you did not enable mod_rewrite. Type in:

a2enmod rewrite

and restart Apache after:

service apache2 restart



回答2:

First Step Open file as

sudo vim /etc/apache2/apache2.conf

Second Step remove comment sign (#) if you find it before this line ( line number 187 approx.) AccessFileName .htaccess

Third Step Then find the line where there is Options Indexes FollowSymLinks AllowOverride None Require all granted

replace "None" with "All"

AllowOverride All

.htaccess it's works!!



回答3:

If its Ubuntu LAMP fresh installation, you can followup with these steps. It just the sum-up from the above points:

Step 1:

If you have sudo access for your Ubuntu server open the apache2.conf file

root@etc/apache2$ vi apache2.conf

Step 2:

Change Directory /var/www/ from AllowOverride None to AllowOverride All

share the file permission level for .htaccess from denied to granted

Step 3:

Change the same settings in root@etc/apache2/sites-enabled/$ vi 000-default.conf file

Step 4:

Run a2enmod rewrite

This step is really important. It prompts you to restart the server.

Step 5: Restart the server

service apache2 restart  

if the above step fails run

 sudo /etc/init.d/apache2 restart


回答4:

If you using latest version on apache2 , you need to add the following lines in /etc/apache2/sites-available/000-default.conf

You need to add following inside this tag

Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all

after that run "service apache2 restart"