WordPress, Godaddy, and Permalinks
If you do a Google search on the subject, you find that people have complaints about how GoDaddy hosting works with WordPress’ permalinks function, many of whom claim one thing or another about how this tool works (or doesn’t work). But I’d like to clear the air on the misconceptions. So, first let me explain some of the misconceptions surrounding GoDaddy and Worpress permalinks, then explain how you can get permalinks working on your Godaddy hosted WordPress blog.
Misconceptions
1. The mod_rewrite function doesn’t work with GoDaddy economy hosting.
This is simply false. My blog (zacvineyard.com/blog) is hosted using GoDaddy economy hosting, and I don’t have a problem using the mod_rewrite function. Dan at idano.net may have been mislead by a GoDaddy service represenative. You do not need to upgrade your account to use mod_rewrite with Godaddy.
2. I have to build my own .htaccess file and upload it to my server.
WordPress automatically builds you a .htaccess file to use with mod_rewrite. As long as WordPress has write access to your blog’s install folder, you should be fine.
3. Mod_rewrite will not work with GoDaddy’s current configuration of PHP.
Again, this is false. WordPress is built using PHP, and again, I am using the mod-rewrite functions just fine on a GoDaddy economy hosted site.
How to Fix the Problem
All you need to fix this problem is patience. Every hour (at the top of the hour), GoDaddy refreshes .htaccess file configurations on their servers. After you select the appropriate Permalink structure you’d like your blog to have, you need to wait for GoDaddy’s servers to refresh the .htaccess file configuration. Once this happens, your permalinks (modifed URLS) should be working perfectly.



Zac, Thanks for summarizing this info for us. I have had to exercise patience on my occasions when dealing with WordPress and the Godaddy Economy Package. Scott
Yep, godaddy econo hosting. Permalinks not working.
I reset permalinks in WP Admin, not working.
Then waited until two minutes after, the top of the hour, permalinks now working.
Thank you,
Carl
Okay.. 651pm now… lets give it a whirl!
Worked like a charm
It seems to have half worked for me. It worked on some pages, but not on others. And, oddly, a header image is missing from all. Any ideas?
Hi Zac,
My name is Alicia and I work with the GoDaddy.com hosting team. I just came across your article and wanted to say thanks for such an informative post!
Kindest regards,
Alicia R.
Go Daddy Hosting
@ Kyra
Your .htaccess file could be trying to redirect URLs that point to the directory where you host your header image. Did you get it figured out?
Patience? what’s that? I’ve set up the permalinks, and now I just have to wait I guess to see if my broken links become unbroken.
@Jesse
Technically, your links aren’t broken. They just aren’t being redirected properly. As soon as Go Daddy’s server recognizes your .htaccess file (the file giving the server redirect directives), then your links will work.
Inside of Go daddy I was completely missing the .htaccess file. I made a file and saved it as .htaccess (.txt) and I put ONLY this code in there
RewriteEngine On
RewriteCond %{HTTP_HOST} ^personalgrowthpages/blog\.com [nc]
RewriteRule (.*) http://www.personalgrowthpages.com/blog$1 [R=301,L]
Am I supposed to have anything else in that file besides this? Its top of the hour 4 PM and I did this at 3:50 pm, and still no change?
When I click a category it brings me to an error page. Thanks for insight.
@ James
Time and time again I’ve had no problem just waiting for the servers to refresh, and each time my .htaccess files work. Are you sure your code you added to your .htaccess is correct? Also, what type of error is being produced?
The .htaccess file I have for my WordPress install is much different that the code you provided.
Here is what mine looks like (which is pretty standard.)
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
If you installed WordPress to a sub-directory on your site (such as /blog), your .htaccess file will need to look more like this:
# BEGIN WordPress
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
# END WordPress
Also, if you installed WordPress to a sub-directory, make sure that your .htaccess file is in that directory.
THANK YOU for your smarts,wisdom, and taking the time to write this post. I changed my permalinks (on Go-daddy) and simply left them over night. I woke up this morning to check my site and bam I have working permalinks! It worked like a charm!
You saved me a ton of agony. I thank you for help!
Thank you so much! This has saved me untold time and effort. I really can’t thank you enough!
I was working on a page for a client hosted on godaddy, and freaked out when I couldn’t get the permalinks to change. I found your article and decided to be patient. I refreshed the page at 12:58, links weren’t working – at 1:00 on the dot they were!
Thanks so much!
Thank you for posting this!!! I thought I was going crazy.
Thanks for posting this information. I am, unfortunately, still having no success in getting Permalinks to work. I have tried what, I believe, are all the possible variations of file location and .htaccess data, waiting each time for the top of the hour to pass, but without success. I continue to get the ‘page not found’ page when I
I am using a Custom Structure of /%year%/%monthnum%/%day%/%category%/%postname%. I have my blog appear at the root of my site (not under /blog like yours). WordPress is loaded in the /wordpress subdirectory under by GoDaddy Windows-hosted site. My index.php resides only at the root and contains the following:
My latest attempt has the following in my .htaccess file which I only have in the /wordpress directory (not the root):
# BEGIN WordPress
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
# END WordPress
I know it must be something obvious so I am hoping you can quickly spot what I am doing wrong.
Thanks for your help.
After some research on the RewriteRule directive and htaccess and being able to get to my pages by changing the url with suffix /index.php after the site name, I understand it much better and have the done the following (but also without success).
My latest attempt has the following in my .htaccess file which I only have in the root directory:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
My understanding is this will change any file being requested from the root directory (where the .htaccess is) to one prefixed with /index.php so xxx.com/2009/04/05/stuff/my-post/ actually serves up xxx.com/index.php/2009/04/05/stuff/my-post/
Hopefully I am getting closer.
Extraordinarity!
Great! Thanks for the post!
@Dan
I would try removing the .htaccess in your root folder and adding the following code to a .htaccess in your /wordpress directory. The root .htaccess file’s directives could be conflicting or over-writing with the other .htaccess. The .htaccess file of a parent directory will effect all child directories.
# BEGIN WordPress
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
# END WordPress
i’ve been waiting for two days and half now… is that normal? i contacted the godaddy support team but they “are unable to support third party application issues” and “the inner functionality of this program”… i’m gonna wait a bit more, but then, i don’t know what to do :-/
Hi Jay,
Are you using Window’s IIS hosting or are you hosted on an Apache server? Using .htaccess is not supported outside the Apache environment. As far as I know, GoDaddy offers both types of hosting.
Hey,
I just switched from Windows Hosting to Linux Hosting and everything is fine now… I had issues with the permalinks, contact form and with setting permissions for the xml sitemap plugin… now everything is in order! can’t believe I’ve struggled for about two weeks with these…
I think GoDaddy should mention those things. That would probably save them (and us, i mean me) some time!
Thanks for your help anyway!
Hi Jay,
I’m glad that worked!
Hey there, I discovered your site a little while ago and have been reading through all the info slowly. I thought would post my comment and just say hi there & let you know I really enjoy your site so far. Will definately be stopping by to read more when I have a bit more time !
Thanks,
Mary
Fixing permalinks on WP using GoDaddy host.
I’ve spent ages reading posts on this and no one really gives the complete info. For one thing, where is the .htaaccess file??? Not in my FileZilla FTP program and I couldn’t find it on GoDaddy host site either.
I changed my permalink settings and 24 hours later still nothing had changed.
SUCCESS!
What finally worked for me was taking the advice of one persons comment to go godaddy host centre and under “Settings” and then “404 Error Behaviour” I selected “Use Homepage” instead of “Use GoDaddy custom page”. Worked right away after that.
Hope that solves your problem too
This is why I love blogs. Wouldn’t have know this otherwise.
I’m really glad to have read this post.
Wish I’d read it about 5 bleeping hours ago!
Thanks for posting this… eventually I found the good info you put on here. Thanks for posting.
I have several websites hosted at Godaddy and I am pretty much satisfied with this domain name registrar. It is also very easy to get coupon codes for Godaddy.
I referenced this post in the WP forums recently when some folks had the same problem.
GoDaddy responded:
Zac,
Just wanted to post back and let everyone know that our servers no longer use .htaccess caching. There’s no need to wait because these files are now recognized immediately.
Regards,
Alicia R.
Go Daddy Hosting
This is a helpful post! I switched to custom permalinks under Settings>Permalinks in the WordPress admin screen, and everything seemed to be fine right away. However I then had to change the slugs on a couple of pages after enabling permalinks and now I get the error. It’s been about 2-3 hours with no change.
Is there something else I need to do in this case to get the updates to be recognized? I don’t see an .htaccess file either in my file manager or in the WordPress admin editor so haven’t been able to check or change it.
Any help is appreciated! Thank you.
Hi Moose, GoDaddy just recently quit caching their .htaccess files, so you don’t have to wait any longer. Sometimes a .htaccess file is a hidden file, and it can take changing some settings in your FTP client to make it visible. But if you don’t have one, then you will need to crate a .htaccess file. But if the permalinks work, then, in my experience, you have a .htaccess file and it is being recognized by the host provider. How are you changing the slugs? They all need to look similar. Can you give an example?
God bless you. I have spent so much time on this, when the solution was just being able to not anything for some time…
I am having this problem on the GoDaddy linux plan and it appears by .htaccess is set correctly. I have WordPress installed into /blog and here is my .htaccess
# BEGIN WordPress
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./blog/index.php [L]
# END WordPress
I have tried waiting until after the top of the hour even though it appears that doesn’t matter anymore but still no luck. The blog loads and I get Error 404 – Not Found where the post should be. If I turn off permalinks it works fine so I know they are the issue but need to determine the root cause so I can resolve it. Any ideas?
Hi Jason,
As far as I can tell, there isn;t much difference between the .htaccess file I have and the code you provided, except that a space exists between “RerwriteRule .” and “/blog/index.php [L]” in my .htaccess file. Here is the exact. htaccess I am running. You may also need the line “RewriteRule ^index\.php$ – [L]” in your file. Give it a try and see if it works.
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]