Link to home
Start Free TrialLog in
Avatar of jblayney
jblayneyFlag for Canada

asked on

RewriteRule works on one server but not on megaservers.com

Hello,

I am using a rewrite rule on my server and it works great, but when I put in on megaservs.com it fails...


what it does is rewrite my index.php?id=whatever into pretty .html addresses. on megaservers i get 404 erros, but not the one from my .htaccess

please help me trouble shoot this, megaservers tech support says problem is code and they are helpless..

htaccess

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-z0-9-\']+)\.html$ index.php?page=$1  [nc]

ErrorDocument 404 problems.html



PHP which fetches content and gives pretty URL

$which_page = mysql_real_escape_string($_GET['page']);
if(!mysql_real_escape_string($_GET['page'])) {
$which_page = "index";      
}      


$query_Recordset_getpages = "SELECT * FROM content WHERE content_menu_url = '$which_page'";
//echo $query_Recordset_getpages;
$Recordset_getpages = mysql_query($query_Recordset_getpages, $connect) or die(header("Location:problems.php"));
$row_Recordset_getpages = mysql_fetch_assoc($Recordset_getpages);
$totalRows_Recordset_getpages = mysql_num_rows($Recordset_getpages);


and my links...

<a href="index.html" title="link to home">


Like i mentioned, this all works perfectly on another server, it just breaks on mega servers.
They say they have a blended microsoft / apache server, my server is apache
Avatar of Peter_Werner
Peter_Werner

Use RewriteLog and RewriteLogLevel to see what went wrong on that server. (Or post it here if you can't.)
Does megaserv have a help desk?  What did they tell you?  A blended microsoft / apache server sounds weird to me.  I might want to move to a normal hosting company.
hi
if you are using share hosting you need to follow your web hosting guide for rewrite some additional line you need to put at the top of the htaccess file and you are good to go
RewriteEngine on
put this on top
or
RewriteEngine on /

try both and post back
Avatar of jblayney

ASKER

Hello and thanks for responding...

Peter, I dont have access to the http.conf

Ray, I was thinkign same thing, but it isn't an option

mattibutt, no luck with that, didn't change anything


one thing I noticed is that the error message i get doesn't make sense... because all I have is an index.php file (in that folder)...


Not Found
The requested URL /d/i/website.ca/public/newsite/index.php was not found on this server.
talking to the help desk now, they keep blaming my code and say the server is a dual microsoft / linux
ASKER CERTIFIED SOLUTION
Avatar of jblayney
jblayney
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Ah, you moved the whole stuff to a subfolder.
Next time you should try to do the same on your local environment to minimize the differences.
RewriteLog could have been added to .htaccess.

// Credit goes to HelpDesk, good ad for the service provider.
actually Peter, it came from a subfolder too where it worked, the other server I use doesn't require that piece of code,

so i learned something good here...
Was it really in DocumentRoot at both sites?
on both servers it was in a test area
 www.website.com/testsite  and  www.anothersite.com/another_testfolder/