0 votes
1 view
in AWS by (18.7k points)

My htaccess file works on localhost but doesn't work when I deploy it to EC2 instance. 

I'm using Macbook and in finder, I cannot see the htaccess file, I thought that perhaps it didn't get copied to EC2 instance but I don't think this is the problem because when I copy the project I can see the htaccess file in my editor. 

Is there something enabling mod rewrite in EC2 Linux instance? If there is, I didn't do it or it enables mod rewrite as default?

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php/$1 [L]

1 Answer

0 votes
by (43.5k points)

If you are running Amazon EC2 Linux, you are most likely running httpd rather than Apache. The file is therefore in /etc/httpd/conf/httpd.conf

  • You have to change the file as the root user. (from ssh access) Do this: sudo vim /etc/httpd/conf/httpd.conf
  • DocumentRoot "/var/www/html" was listed in two places for me. I had to change the next AllowOverride None to AllowOverride All in those 2 places.
  • Restart apache. I restarted my whole ec2 instance (i have apache configured to begin automatically) although just restarting apache will work. But I see the change is working.
Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...