Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wordpress .htaccess www. not forcing

I'm trying to force www. on all the pages of my site. I have wordpress install in a folder on my main site (/blog). In the /blog folder there is an .htaccess file with the following:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

In the main dir of the site. I have a .htaccess file that has the follow:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.sitename.com [NC]
RewriteRule (.*) http://www.sitename.com/$1 [R=301,L]
RewriteRule ^blog/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/(.*)$ /blog/index.php [L]

In wordpress is have the option set for www. The www. appears on every page except the when I go straight the the site.com/blog address

like image 543
Jason Small Avatar asked Oct 27 '11 09:10

Jason Small


1 Answers

Go Settings -> General: WordPress Address (URL) Site Address (URL)

And set both of them to www.yoursite.com (instead of yoursite.com), wordpress automagically takes care for setting all the urls to www.yoursite.com and that's it.

If that isn't enough, you shouldn't edit the .htaccess file anyway, because anytime you save or reload your permalink settings, Wordpress will overwrite your .htaccesss (some plugins may do that as well).

If you do want to rewrite your URL, you should do it with WP Rewrite (Codex), or if you want a little more simple approach, there is a good plugin for that called Redirection (Wordpress.org Plugin Directory).

In Redirection plugin you can just set the options to *.mydomain.com/* to redirect to www.mydomain.com/* with a 301, and that will take care of your htaccess as long as you keep the plugin active.

Hope this helps :)

like image 125
pyronaur Avatar answered Oct 22 '22 23:10

pyronaur