Pretty URLs and godaddy

Permalink 4 users found helpful
Hi Guys

I'm having a problem getting pretty urls to work on godaddy. Have looked at a few other posts and despite following their solutions i am not having any lucky. Quite simply the issue I'm experiencing is that the pretty version of the url will not work.

I am on a linux server and i know mod-rewrite is switched on.

The concrete install is in a sub directory and i've tried copying a .htaccess file into the main directory for concrete - i.e. where the index.php file sits.

If anyone could offer any advice for getting this sorted out it would be appreciated.

Thanks,

Jeb

 
caberz replied on at Permalink Reply
I'm having the exact same problem. Any ideas anyone?
drw replied on at Permalink Reply
drw
I've also got the same problem!

I just moved the site from another host where, apart from too much host downtime, things worked well. Now with GoDaddy all I can access is the homepage whilst other pages show a broken link message.

I also cannot login to the site and previously this problem has been caused by mod-rewrite. My htaccess file (which worked fine with the previous host) is:
DirectoryIndex /c5/concrete/index.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /c5/concrete/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1
</IfModule>


Any suggestions would be gratefully appreciated.

Thanks,
Derek
bcarone replied on at Permalink Reply
bcarone
Ok......Here we go with GoDaddy.

You php,ini file must be "php5.ini" not php.ini.

Also, here is my .htaccess and I have no problems on GoDaddy.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteOptions Inherit
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Please notice the .htaccess file has NO php command reference as posted by drw. How did you host get that to work anyway?

Hope this helps.
Bill
drw replied on at Permalink Reply
drw
Hi Bill and thanks for your advice.

I tried your .htaccess file but no change in the problem.
By the way the php tags are inserted by the forum software so not present in my htaccess

I've checked in the GoDaddy control panel and I'm set up with php5 although I don't know where the php,ini file is. Presumably if the control panel says php5 then I guess the ini will be php5.ini

So the home page appears just fine in my web browser and all the URL's for the other pages appear fine when I mouseover them. When I click on a page the URL that the browser goes to is the same as was shown on the mouseover but I then get the broken link message. These URL's were fine with the previous host, could this possibly be a database problem?

Again, all help gratefully appreciated.
Derek
bcarone replied on at Permalink Reply
bcarone
My php5.ini file is in the root of my site. So it should be in username/www/ root. Not your concrete install dir. For your .htaccess file, it should be in the root of your concrete5 install (unless your concrete5 install IS your root).

YOU MUST HAVE the file php5.ini in your directory or it won't work right. I don't think its your database. Double check your site.php file in concrete to make sure everything is good.

I will help more later.
Bill
drw replied on at Permalink Reply
drw
Bill, many thanks for your kind assistance but I gave up with GoDaddy and transferred the site to 1and1 Internet where it runs without a problem.

I would have liked to have found out what the problem was at GoDaddy but life's too short!

Best regards,
Derek
rickychapman replied on at Permalink Reply
rickychapman
Bill,

I managed to get C5 installed on GoDaddy after some hassle, and need to enable pretty URLs so I've been researching the forums and doing what people have suggested, but to no avail.

My php5.ini file is all set - and I've used the .htaccess you included above, but still nothing. Should it work fairly quickly, or is there a long delay?

Also - I'm wondering if you've done what is suggested here:http://www.concrete5.org/community/forums/usage/mod_rewrite_on_goda...

That seems like an old fix to a problem that has since been incorporated into the core.

Anyways - you seem to have good experience with GoDaddy, so I wanted to run it by you.
bcarone replied on at Permalink Reply
bcarone
Ricky

My settings on GoDaddy were basic. Permissions for C5 were set to advanced and all I did after the .htaccess was enable pretty urls in the dashboard and then cleared the cache.

Started working within an hour or so.

Hope it works (then again GoDaddy may have made a lot of changes too).
rickychapman replied on at Permalink Reply
rickychapman
I noticed that your .htaccess included a line not included in the C5 prompt:

RewriteOptions Inherit


Is that something specific for GoDaddy?

I updated my permissions, and I'm definitely getting a response from the .htaccess file, so I think the server sees it ok. I just keep getting:

"No Input File Specified"

It's athttp://www.mckinleyarchitects.com
rickychapman replied on at Permalink Reply
rickychapman
I wasn't able to get Pretty URLs working on GoDaddy until I added the fixes Olay described on this thread:
http://www.concrete5.org/community/forums/customizing_c5/pretty_url...

My .htaccess:

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



In concrete/libraries/request.php

Per Olay's example I replaced

$path = Request::parsePathFromRequest('ORIG_PATH_INFO');


with

$path = Request::parsePathFromRequest('REDIRECT_URL');
if (!$path) {
$path = Request::parsePathFromRequest('ORIG_PATH_INFO');
}


Good luck to all others using GoDaddy! It's been a real pain! :-)
Ta2Ta2 replied on at Permalink Reply
Thanks rickychapman, it works fine for me, FINALLY!
dwayneparton replied on at Permalink Reply
dwayneparton
Thanks Ricky that helped me too.

I used your .htaccess and essentially did the same that Olay said. I added the following
if (!$path) {
      $path = Request::parsePathFromRequest('REDIRECT_URL');
   }

above
if (!$path) {
      $path = Request::parsePathFromRequest('ORIG_PATH_INFO');
   }

And everything appears to be working fine.
Just to note I am using Concrete5.4.1.1
Thanks again for the help.
jonathn replied on at Permalink Reply
jonathn
Thank You! GoDaddy has been a real pain and this has helped me immensely. Cheers.
dibakar replied on at Permalink Reply
dibakar
Hi ricky,

In my concrete/libraries/request.php file I see only the below code:

<?php  defined('C5_EXECUTE') or die("Access Denied.");
class Request extends Concrete5_Library_Request {}


I am a newbie to C5. Can you please help?

Thanks,
Dibakar
kylerwinters replied on at Permalink Reply
FINALLY! Something that works with fatcow.
rocknroller540 replied on at Permalink Reply
Still having alot of problems and would love some help i'm not code savu and can't get pretty urls to work with godaddy I already changed my .htaccess to
[code}
<# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
# -- concrete5 urls end --</IfModule>
[/code]
and my request.php reads
if (defined('SERVER_PATH_VARIABLE')) {
            $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE);
         }
         $path = Request::parsePathFromRequest('REDIRECT_URL');
if (!$path) {
      $path = Request::parsePathFromRequest('ORIG_PATH_INFO');
         }

I think that might be where im running into trouble but im going in circles and any help would be greatly appreciated
rocknroller540 replied on at Permalink Reply
My request.php now reads
if (!$path) {
      $path = Request::parsePathFromRequest('REDIRECT_URL');
   }
if (!$path) {
      $path = Request::parsePathFromRequest('ORIG_PATH_INFO');
i've messed with it several times and caught it while reading still can't get pretty urls to work at all
rocknroller540 replied on at Permalink Reply
changed .htaccess to
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule .* index.php [L]
   </IfModule>


now works followed ricky to the tee
admin replied on at Permalink Reply
For me it was still not working even after all these tricks.
I finally got my solution here :
http://www.concrete5.org/community/forums/usage/mod_rewrite_on_goda...

brian30 replied on Nov 30, 2009 at 7:52 pm Permalink ReplyTo enable pretty URL's on godaddy go to your hosting manager then settings then file extensions.
Change .php from PHP5x FastCGI to PHP5x

jereme replied on Nov 30, 2009 at 8:10 pm Permalink ReplyThere will be a pretty large performance penalty for this.
If godaddy's servers are robust enough you may not notice it.
However, FastCGI offers a great caching upside.

You did, however, propose a perfectly workable solution. Thanks :)
admin replied on at Permalink Reply
In fact it was much more simple :
It works perfectly now with this simple line in htaccess with
RewriteRule .* index.php [L]
instead of
RewriteRule ^(.*)$ index.php/$1 [L]

Alleluia!!
It was a nightmare to find out this one...
Fanaddixx replied on at Permalink Reply
This one change FINALLY made the pretty URL's work on FatCow. Thank you so much!
charity671 replied on at Permalink Reply
Anyone still using GoDaddy (like me) here is the solution:

http://support.godaddy.com/help/article/7505/enabling-search-engine...
hissy replied on at Permalink Reply
hissy
I solved pretty url problem on godaddy with another way, so I'll share my solution.

plan: GoDaddy.com / Economy Web Hosting Linux
php version: 5.3.24

1. Turn on pretty urls at concrete5 dashboard
2. Add following lines to config/site.php

define('URL_REWRITING_ALL', true);
define('SERVER_PATH_VARIABLE', 'REDIRECT_SCRIPT_URL');


I did not modified any mod rewrite rules.
shabib1819 replied on at Permalink Reply
I've been working on this for hours. I had pretty URLs and then sometime this month started getting a Page Not Found for all pages beneath home page. Your solution worked for me! Thanks so much!

Went into hosting account on Godaddy. Clicked on settings and programming language PHP set to 5.3.

Changed htaccess file to the following:
AddHandler x-httpd-php5-3 .php
# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
# -- concrete5 urls end --

I added your code to config file located in \config\site.php. I don't think it matters where it's placed in the file.
define('URL_REWRITING_ALL', true);
define('SERVER_PATH_VARIABLE', 'REDIRECT_SCRIPT_URL');

Finally got pretty URLs back. Thanks again.
mikeh replied on at Permalink Reply
Finally, this one worked. I moved 2 sites off of GoDaddy because I couldn't fix it but I still had one site on GoDaddy for a client and the solution by hissy and shabib1819 aobove is the only thing that has worked. Thanks for this solution but I'm still not hosting with GoDaddy ever again. Fool me once...
waroly replied on at Permalink Reply
This fix worked for me also after several days of reinstalling, reuploading, numerous calls to GoDaddy etc. It's really not worth the sweat and cost just to get rid of a few index.php's!

I was moving a Concrete5 site from one GoDaddy account to another. The really strange thing is that this exact same Concrete5 website worked without modification in one account and didn't in the other! I also have another Concrete5 website for another client on GoDaddy and everything works without modification.

The sites that do work are on GoDaddy's Economy Web Hosting Linux accounts and the site that didn't is on GoDaddy's Ultimate Web Hosting Linux account. GoDaddy swears that the two account types are under the exact same hosting environment!

Very peculiar!
atomhead replied on at Permalink Reply
Hissy's solution worked for me. Thank you!
nkennel replied on at Permalink Reply
nkennel
This seems still to be relevant for GoDaddy. Thank you hissy - your config/site.php edits were the final piece of the puzzle for me. I made some of the .htaccess edits described above, but I am uncertain whether they were necessary. I'm not going to test my luck right now by undoing what is done - it's been a frustrating road!

In my current version of Concrete5 5.6.3.1, it seems unnecessary to make the request.php edits - it looks to me as if that file has been updated in the core to include this fix.
tduncandesign replied on at Permalink Reply
tduncandesign
Hissy to the rescue again... I know it's a four-year old post, it's an old website, moved from BlueHost to GoDaddy, this got me up and running in a sub-folder along with htaccess as:

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

I also have the php5.ini file with the "cgi.fix_pathinfo = 1" line. I've been looking at page not found all day until I put those two lines into site.php. Old version C5 before 5.7.
skydivejoes replied on at Permalink Reply
I would also like to thank hissy for the fix he provided 4 years ago as it is still relevant to Godaddy, and simply adding
define('SERVER_PATH_VARIABLE', 'REDIRECT_SCRIPT_URL'); to config/site.php just saved the day for me.

I've had a Concrete5 installation I've stood up in 2013 on GoDaddy and it has been functional ever since, until a few days ago when GoDaddy had to restore my hosting account files, only to find out that my website didn't work any longer, and I was getting the 'no input file specified' issue.

Thank you Hissy, and thank you to the great C5 community.