I have a 2 sets of rewrite rules. This is the Virtual Host:
<VirtualHost *:80>
ServerName datingjapan.co
ServerAlias *.datingjapan.co
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}$1 [R=301,L]
DocumentRoot /var/www/html/datingjapan.co
</VirtualHost>
and this is the .htacess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
I have been trying to add the .htaccess to the Virtual Host so I can remove the .htaccess file - below is an example, but I get the site to show:
<VirtualHost *:80>
ServerName datingjapan.co
ServerAlias *.datingjapan.co
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?/$1
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}$1 [R=301,L]
DocumentRoot /var/www/html/datingjapan.co
</VirtualHost>
I understand the [L] means last rule to match so I have removed that but it still doesn't work.
What am I missing here? I've tried reversing the rules.
thankyou
L
will still be needed as Last flag is for marking end of each rewrite rule. Ordering of rules is also important. Change your code to this:
<VirtualHost *:80>
ServerName datingjapan.co
ServerAlias *.datingjapan.co
DocumentRoot /var/www/html/datingjapan.co
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]
</VirtualHost>
There needs to be 2 [L] flag on the .htaccess body.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#for the purpose of multiple rewrite rules
RewriteRule ^(.*)$ index.php/$1 [L]
#for the purpose of multiple rewrite rules (usage of multiple L flag)
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With