htaccess file - root and website folder htaccess file both have different code. URL does not work without the www

81 views Asked by At

I have the following domain that does not work without the www.

www.mydomain.com works
mydomain.com = does not work

The root htaccess file (primary domain is something else) automatically seemed to have this code in it.

# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$
RewriteRule ^/?$ "https\:\/\/www\.mydomain\.io\/mydomain" [R=301,L]

I added this code in the website's own htaccess file.

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

What am I doing wrong?

Currently mydomain.com goes to something quite strange (it duplicates the domain name): and has an error

https://www.example.com/example.com/

Error on page

Not Found
The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Can I delete the code which says "do not edit". Which one is working and why/how?

1

There are 1 answers

0
Compoot On

The issue was basically resolved by:

  1. Adding the rewrite engine rules:

    RewriteEngine on RewriteCond %{HTTP_HOST} !^www. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  2. Deleting the forwarding in the DNS management console and ONLY leaving in the forwarding in the addondomains section. So, in the cpanel - addon domains, create forwarding and delete the forwarding in the DNS section. This was the key part.

  3. There was an additional folder outside of the public_html for this domain and that was deleted as well.

Finally, adding these rules to force https was useful:

https://www.hostinger.co.uk/tutorials/ssl/forcing-https

Also noting the helpful comment: "Which web server are you using? Look through your web server configuration files. Your problem is that you have a redirect from HTTP to HTTPS and the path URL is configured wrong."