Reputation: 3208
I know that there are a bunch of answers for this question already on this forum and over the internet. But everything I tried is not working for me and I have no clue why. So that's why I'm asking this question.
I'm running a website with ExpressionEngine CMS. To remove index.php from the URL there is a small .htaccess rule which mentioned below and working fine.
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Everything running fine with this code in the htaccess file. But now I want to force www.
in the URL because some AJAX scripts are not working when the URL is without www.
. So I found some threads on this forum:
The last has the most clear solution in my opinion so I added this to my .htaccess file.
# Add www.
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
My .htaccess
file now looks like this:
RewriteEngine on
# Add www.
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# remove index.php
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
This however give's me a ERR_TOO_MANY_REDIRECTS
error.
I tried all other kind of methods but I keep getting this error and I don't know why. Everything I try to force www.
through htaccess doesn't work or gives me this error.
What is going on? Is it possible that DNS settings have to do something with this?
Upvotes: 0
Views: 98
Reputation: 19528
You need to change it on Plesk control panel, you access the domain in question and change the non-www
to www
or set it to none
.
The option you look for is located at subscription > Web Hosting Settings > Preferred Domain
.
In case you set it to none
then you can use the .htaccess
rule.
Upvotes: 1