HighDots Forums  

Mod_rewrite/PHP problem driving me crazy!!

Search Engine Optimization Discussion about SEO/Search Engine Optimization (alt.internet.search-engines)


Discuss Mod_rewrite/PHP problem driving me crazy!! in the Search Engine Optimization forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
David
 
Posts: n/a

Default Mod_rewrite/PHP problem driving me crazy!! - 10-22-2006 , 11:15 PM







I've asked this question in two NGs and two forums with no joy, so one
last try here before I blow my brains out in frustration :-)

Trying to convert a script to use friendly URLs, I've done this
before, but my PHP skills are basic so I'm not great at PHP.

..htaccess file-

DirectoryIndex default.php index.asp index.html index.htm index.php

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^([^/]+)/Artist/([^/]+)/$ search.php?typ=$1&search=$2 [L]
RewriteRule ^([^/]+)/Artist/([^/]+)/([^/]+)/$
search.php?typ=$1&search=$2&page=$3 [L]

RewriteRule ^([^/]+)/$ default.php?typ=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/$ default.php?typ=$1&page=$2 [L]

RewriteRule ^([^/]+)/([^/]+)/$ default.php?typ=$1&cat=$2 [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$
default.php?typ=$1&cat=$2&page=$3 [L]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$
default.php?typ=$1&cat=$2&sct=$3 [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/$
default.php?typ=$1&cat=$2&sct=$3&page=$4 [L]



Each set of rules creates these URLs-

example.com/$1/Artist/$2/
example.com/$1/Artist/$2/$3/ ($3 is a page number)

Got these-
http://www.temphelpwnc.com/Real-Musi...y%20Furtado/1/
http://www.temphelpwnc.com/Real-Musi...lly+Furtado/1/

want this-
http://www.temphelpwnc.com/Real-Musi...lly-Furtado/1/

example.com/$1/
example.com/$1/$2/ ($2 is a page number)

Got this working as wanted (though cheated :-))
http://www.temphelpwnc.com/Real-Music-Tones/1/


example.com/$1/$2/
example.com/$1/$2/$3/ ($3 is a page number)

Got these-
http://www.temphelpwnc.com/Real-Musi...razy%20Frog/1/
http://www.temphelpwnc.com/Real-Musi.../Crazy+Frog/1/

want this-
http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

example.com/$1/$2/$3/
example.com/$1/$2/$3/$4/ ($4 is a page number)

Got these-
http://www.temphelpwnc.com/Real-Musi...pions%21%21/1/
http://www.temphelpwnc.com/Real-Musi...pions%21%21/1/

want this-
http://www.temphelpwnc.com/Real-Musi...e-Champions/1/

So the rules work until I try to use hyphens! I can't get the PHP
script to create an hyphenated version that works even though at
browser level the hyphen is there (click on it, but the right page
does not load).

So a starting URL like

example.com/ringtone/Artist/britney%20spears/ (works)

Converted to-

example.com/ringtone/Artist/britney-spears/ (doesn't work)

Using a function (see later) that converts spaces to hyphens doesn't
load what I see at example.com/ringtone/Artist/britney%20spears/
instead I see a 404 error page (blank script page) and I don't
understand why (I've used the function before)

Using urlencode http://uk.php.net/urlencode instead of the function
replaces spaces with + so I see

example.com/ringtone/Artist/britney+spears/ (works)

but it's not the format I want and there are other characters I'd like
to remove including ( ) ! & that mess URLs up.

So what is wrong with this function (which I don't fully understand
BTW)-


function text2url( $string ){
$string = ltrim($string);
// remove unnecessary spaces and make everything lower case
$string = preg_replace( "/ +/", " ", strtolower($string) );

// special rule for dashes, I think it looks nicer :-p
$string = str_replace(' - ', '-', $string);


// removing a set of reserved characters (rfc2396: ; / ? : @ & = + $
,)
$string =
str_replace(array(';','/','?',':','@','&','=','+','$',',','#'), '',
$string);

// replace some characters to similar ones (more readable uris)
$search = array(' ', 'ä', 'ö', 'ü','ë','ï','é','è','à','ç',);
#$replace = array('_','ae','oe','ue','e','i','e','e','a','c');
$replace = array('-','ae','oe','ue','e','i','e','e','a','c');
$string = str_replace($search, $replace, $string);

// remove everything we didn't so far...
$string = preg_replace("/[^a-z0-9_-]/", "", $string);

// urlencode everything, in case we missed something ;-)
return urlencode($string);
}



When I use it like this

$artist2 = text2url($artist);

echo'<a href="'.$site_url.''.$typ.'/Artist/'.$artist2.'/1/"><img
src="'.$site_url.'button_more_from.gif" alt="All Truetones from
'.$artist.'" border="0"></a>'.$artist.' ';


It converts spaces to hyphens, but within a browser it fails.




Or this simpler function that just deals with the / and spaces-

function safename($name){
$retVal = str_replace('/',' ',$name);
$retVal = str_replace(' ','-',$retVal);
return $retVal;
}


This works but adds +

echo'<a
href="'.$site_url.''.$typ.'/Artist/'.urlencode($artist).'/1/"><img
src="'.$site_url.'button_more_from.gif" alt="All Truetones from
'.$artist.'" border="0"></a>'.$artist.'';

Got a test site running at http://www.temphelpwnc.com/ as I post this
I have it set to use urlencode type URLs (though might change as I
test things) which mostly work, though don't like the + within
filenames.

I've basically hard coded the menu links like
http://www.temphelpwnc.com/Real-Music-Tones/1/ it's the links on say
the home page under Real-Music-Tones (near the top) and including a
lot of *s where I'm having problems. Links to pages like
http://www.temphelpwnc.com/Real-Musi.../Crazy+Frog/1/ I want
http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

The code for that part of the page is-


<?php
$row=0;
$cnt=1;
$categories=array();

$file = fopen("$filepath", "r");
echo'';

while (($data = fgetcsv($file, 2048, ";")) !== FALSE) {
if ($row>0 and
$data[$DATA["typ"]]==$typ){$categories[$row]=$data[$DATA["cat"]];}
$row++;
}

fclose($file);
$dot='...';

$categories=array_unique($categories);

sort($categories);
foreach ($categories as $aname) {
echo' * ';

$trimcat=$aname;
if (strlen($trimcat)>24){
$trimcat=substr($trimcat,0,21) . $dot;}
if ($aname==$cat){
echo'<strong>'.$trimcat.'</strong>';}
else{


$query_string = urlencode($aname);

include 'menu_types.php';

echo'<a
href="'.$site_url.''.urlencode($typ).'/'.$query_string.'/1/">'.$trimcat.'</a>
Quote:
';
include 'file_types.php';
}
echo'';
if ($cnt % 5==0){
echo''; }
$cnt++;
}

echo'<br><br>';
?>

The data is from a CSV file with typ representing the type of product
(Real-Music-Tone) and cat representing a category (format in CSV file
= Crazy Frog).

This is the first time I haven't been able to convert a PHP script to
use friendly URLs!

David
--
SEO Tutorial http://www.seo-gold.com/tutorial/
More Earnings Blog http://www.morearnings.com/


Reply With Quote
  #2  
Old   
John Bokma
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 02:20 AM






David <seodave (AT) search-engine-optimization-services (DOT) co.uk> wrote:

Quote:
I've asked this question in two NGs and two forums with no joy, so one
last try here before I blow my brains out in frustration :-)
Hi David,

I did a lightning fast read, so I might have it wrong. What you have is an
URL with an artist encoded in it, and you want it to call it a search php
script. Issue is that it doesn't work because your URL has a - in it, and
your search expects a space, right?

Option one is: make several rules for matching, like

...../([^-]+)-([^-]+)/... .... search..$1%20$2
...../([^-]+)-([^-]+)-([^-]+)/... .... search..$1%20$2%20$3

etc.


Option two is to have the search script tweak it's parameter before it does
the actual search, ie. it replaces - with space.


--
John Need help with SEO? Get started with a SEO report of your site:

--> http://johnbokma.com/websitedesign/seo-expert-help.html


Reply With Quote
  #3  
Old   
Big Bill
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 02:44 AM



On Mon, 23 Oct 2006 03:15:32 GMT, David
<seodave (AT) search-engine-optimization-services (DOT) co.uk> wrote:

Quote:
I've asked this question in two NGs and two forums with no joy, so one
last try here before I blow my brains out in frustration :-)
I stopped reading here!

BB
--

http://www.kruse.co.uk/seo-sitemap.htm
http://www.here-be-posters.co.uk/art-prints-sitemap.htm
http://www.here-be-posters.co.uk/lithographs.htm


Reply With Quote
  #4  
Old   
Borek
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 02:57 AM



On Mon, 23 Oct 2006 05:15:32 +0200, David
<seodave (AT) search-engine-optimization-services (DOT) co.uk> wrote:

Quote:
Trying to convert a script to use friendly URLs, I've done this
before, but my PHP skills are basic so I'm not great at PHP.
I am sorry Dave, I am afraid I can't do that.

Please try to be more specific and to isolate the real problem. Right now
it is covered with code snippets so that everyone wanting to help must
spend a lot of time trying to understand what you are looking for. I have
resigned after 5 minutes, note that John did the same. No wonder nobody
answered to your query earlier.

Borek
--
http://www.chembuddy.com
http://www.ph-meter.info
http://www.terapia-kregoslupa.waw.pl


Reply With Quote
  #5  
Old   
Big Bill
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 05:57 AM



On Mon, 23 Oct 2006 08:57:17 +0200, Borek
<m.borkowski (AT) delete (DOT) chembuddy.these.com.parts> wrote:

Quote:
On Mon, 23 Oct 2006 05:15:32 +0200, David
seodave (AT) search-engine-optimizat...es (DOT) co.uk> wrote:

Trying to convert a script to use friendly URLs, I've done this
before, but my PHP skills are basic so I'm not great at PHP.

I am sorry Dave, I am afraid I can't do that.

Please try to be more specific and to isolate the real problem. Right now
it is covered with code snippets so that everyone wanting to help must
spend a lot of time trying to understand what you are looking for. I have
resigned after 5 minutes, note that John did the same.
I gave up loooooooooooooong before that!

BB


--

http://www.kruse.co.uk/seo-sitemap.htm
http://www.here-be-posters.co.uk/art-prints-sitemap.htm
http://www.here-be-posters.co.uk/lithographs.htm


Reply With Quote
  #6  
Old   
David
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 06:02 AM



On Mon, 23 Oct 2006 08:57:17 +0200, Borek
<m.borkowski (AT) delete (DOT) chembuddy.these.com.parts> wrote:

Quote:
On Mon, 23 Oct 2006 05:15:32 +0200, David
seodave (AT) search-engine-optimizat...es (DOT) co.uk> wrote:

Trying to convert a script to use friendly URLs, I've done this
before, but my PHP skills are basic so I'm not great at PHP.

I am sorry Dave, I am afraid I can't do that.

Please try to be more specific and to isolate the real problem. Right now
it is covered with code snippets so that everyone wanting to help must
spend a lot of time trying to understand what you are looking for. I have
resigned after 5 minutes, note that John did the same. No wonder nobody
answered to your query earlier.

Borek
LOL My original questions were shorter
http://www.webmasterworld.com/php/31...htm#msg3131480 thought I'd
give full details this time see if it made a difference :-)

Thanks for trying though.

If it helps bare minimum info-

Important part of .htaccess file for query below-

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$
default.php?typ=$1&cat=$2&page=$3 [L,NC]

That's associated with original format for this type of URL
(Real-Music-Tones is hard coded kind of)-
http://www.temphelpwnc.com/default.p...%20Frog&page=1

Got this working
http://www.temphelpwnc.com/Real-Musi...razy%20Frog/1/
and
http://www.temphelpwnc.com/Real-Musi.../Crazy+Frog/1/

but want this-
http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

Which is not working.

Although not the whole problem basically trying to replace the spaces
within the variable $cat (ie. Crazy Frog) with hyphens (ie
Crazy-Frog).

This is the sort of function I've tried to replace the spaces with
hyphens for the URLs-

function safename($name){
$retVal = str_replace('/',' ',$name);
$retVal = str_replace(' ','-',$retVal);
return $retVal;
}

URL code for %20 version (which works)-

echo'<a
href="'.$site_url.''.$typ.'/'.$query_string.'/1/">'.$trimcat.'</a> |';

URL code for hyphen version (works until you click it :-)) -

echo'<a
href="'.$site_url.''.$typ.'/'.safename($query_string).'/1/">'.$trimcat.'</a>
Quote:
';
Where $query_string includes the cat data (ie. Crazy Frog).

This script uses a CSV file for the data not a database. I don't know
if this is important to the problem, but suspect it might be?

Also tried functions like safename at the point of getting the data
from the CSV file, so gets the data and immediately replaces spaces
with hyphens but nothing works.

John I tried your suggestion, but couldn't get it to work :-(

Thanks.

David
--
SEO Tutorial http://www.seo-gold.com/tutorial/
More Earnings Blog http://www.morearnings.com/


Reply With Quote
  #7  
Old   
Borek
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 07:33 AM



On Mon, 23 Oct 2006 12:02:08 +0200, David
<seodave (AT) search-engine-optimization-services (DOT) co.uk> wrote:

Quote:
LOL My original questions were shorter
http://www.webmasterworld.com/php/31...htm#msg3131480 thought I'd
give full details this time see if it made a difference :-)

Thanks for trying though.
Are you sure you are looking in the correct place? Looks for me like the
URL can be correctly parsed by rewrite_mod, but then your code that tries
to fetch data and generate page can get lost for some completely separated
reason.

Quote:
but want this-
http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

Which is not working.
AFAICT links on the page look OK, problem starts when they are clicked.
Yet you are referring to the code that generates these links and not to
the code that generates page content.

Quote:
echo'<a
href="'.$site_url.''.$typ.'/'.$query_string.'/1/">'.$trimcat.'</a> |';
print("<a href=\"$site_url$typ/$query_string/1/\">$trimcat</a> |");

Quote:
echo'<a
href="'.$site_url.''.$typ.'/'.safename($query_string).'/1/">'.$trimcat.'</a
|';
print("<a
href=\"$site_url$typ/".safename($query_string)."/1/\">$trimcat</a> |");

Note: it is not necesarilly better, it is just easier for me to understand


Borek
--
http://www.chembuddy.com
http://www.ph-meter.info
http://www.terapia-kregoslupa.waw.pl


Reply With Quote
  #8  
Old   
David
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 12:17 PM



On Mon, 23 Oct 2006 13:33:27 +0200, Borek
<m.borkowski (AT) delete (DOT) chembuddy.these.com.parts> wrote:

Quote:
On Mon, 23 Oct 2006 12:02:08 +0200, David
seodave (AT) search-engine-optimizat...es (DOT) co.uk> wrote:

LOL My original questions were shorter
http://www.webmasterworld.com/php/31...htm#msg3131480 thought I'd
give full details this time see if it made a difference :-)

Thanks for trying though.

Are you sure you are looking in the correct place? Looks for me like the
URL can be correctly parsed by rewrite_mod, but then your code that tries
to fetch data and generate page can get lost for some completely separated
reason.
That's what I'm thinking which is why I was showing the bits that work
and where it goes wrong. There is nothing wrong with the function that
replaces spaces with hyphens etc... as I've used it before.

I've not used mod_rewrite with a script that uses a CSV file, so
suspect it something to do with that, the way the data is taken from
the CSV file-

<?php
$file = fopen("$filepath", "r");
echo'';

while (($data = fgetcsv($file, 2048, ";")) !== FALSE) {
if ($row>0 and
$data[$DATA["typ"]]==$typ){$categories[$row]=$data[$DATA["cat"]];}
$row++;
}
fclose($file);
$dot='...';
?>


Quote:
but want this-
http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

Which is not working.

AFAICT links on the page look OK, problem starts when they are clicked.
Yet you are referring to the code that generates these links and not to
the code that generates page content.
That's why with my first post I included all the code for the
secondary menu: the links now labeled "Links using spaces %20 working"
and "Links using hyphen - not working".

Current code for secondary menu, including your preferred format for
the links commented out :-)

<?php
$row=0;
$cnt=1;
$categories=array();
?>

<?php
$file = fopen("$filepath", "r");
echo'';

while (($data = fgetcsv($file, 2048, ";")) !== FALSE) {
if ($row>0 and
$data[$DATA["typ"]]==$typ){$categories[$row]=$data[$DATA["cat"]];}
$row++;
}
fclose($file);
$dot='...';
?>

<?php
$categories=array_unique($categories);

echo'Links using spaces %20 working<br>';

sort($categories);
foreach ($categories as $aname) {
echo'';

#creates trimmed cat name, prob not important.

$trimcat=$aname;
if (strlen($trimcat)>24){
$trimcat=substr($trimcat,0,21) . $dot;}
if ($aname==$cat){
echo'<strong>'.$trimcat.'</strong> |';}
else{

#This uses the data grabbed from the CSV file earlier to form part of
the URL (Crazy Frog bit).

$query_string = $aname;

include 'menu_types.php';

echo'<a
href="'.$site_url.''.$typ.'/'.$query_string.'/1/">'.$trimcat.'</a> |';

#print("<a href=\"$site_url$typ/$query_string/1/\">$trimcat</a> |");

include 'file_types.php';
}
echo'';
if ($cnt % 5==0){
echo''; }
$cnt++;
}


echo'<br><br>';
?>

<?php
$categories=array_unique($categories);
echo'Links using hyphen - not working<br>';
sort($categories);
foreach ($categories as $aname) {
echo'';

$trimcat=$aname;
if (strlen($trimcat)>24){
$trimcat=substr($trimcat,0,21) . $dot;}
if ($aname==$cat){
echo'<strong>'.$trimcat.'</strong> |';}
else{

$query_string = $aname;

include 'menu_types.php';

echo'<a
href="'.$site_url.''.$typ.'/'.safename($aname).'/1/">'.$trimcat.'</a>
Quote:
';
#print("<a
href=\"$site_url$typ/".safename($query_string)."/1/\">$trimcat</a>
Quote:
");
include 'file_types.php';
}
echo'';
if ($cnt % 5==0){
echo''; }
$cnt++;
}

echo'<br><br>';
?>

The data is from a CSV file with typ representing the type of product
(Real-Music-Tone) and cat representing a category (format in CSV file
= Crazy Frog). I've basically hard coded the Real-Music-Tone bit which
is why links like http://www.temphelpwnc.com/Real-Music-Tones/1/ work.
If I used the original format "Real Music Tone" I see the same problem
with those URLs, they convert to hyphens, but when clicked fail.

BTW realised I could cut the rewriterules to just these since I'm only
using pages ending in a page number-

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^([^/]+)/Artist/([^/]+)/([^/]+)/$
search.php?typ=$1&search=$2&page=$3 [L,NC]

RewriteRule ^([^/]+)/([^/]+)/$ default.php?typ=$1&page=$2 [L,NC]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$
default.php?typ=$1&cat=$2&page=$3 [L,NC]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/$
default.php?typ=$1&cat=$2&sct=$3&page=$4 [L,NC]

Quote:
echo'<a
href="'.$site_url.''.$typ.'/'.$query_string.'/1/">'.$trimcat.'</a> |';

print("<a href=\"$site_url$typ/$query_string/1/\">$trimcat</a> |");

echo'<a
href="'.$site_url.''.$typ.'/'.safename($query_string).'/1/">'.$trimcat.'</a
|';

print("<a
href=\"$site_url$typ/".safename($query_string)."/1/\">$trimcat</a> |");

Note: it is not necesarilly better, it is just easier for me to understand

LOL, I'm not used to using echo either, but that's how the script was
built.

Quote:
Borek
David
--
WordPress Themes with AdSense ads
http://www.morearnings.com/category/wordpress-themes/
AdSense Tips http://www.morearnings.com/2006/05/08/adsense-revenue/


Reply With Quote
  #9  
Old   
Borek
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 12:51 PM



I still don't get something.

I am going to the page:

http://www.temphelpwnc.com/Real-Musi...s/Bollywood/1/

Clicking on Crazy Frog in both upper and lower parts, and opening two
windows. One for %20 link:

http://www.temphelpwnc.com/Real-Musi...razy%20Frog/1/

and one for:

http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

Now, there are two main differences between these pages. First difference
is that on the %20 page link to Crazy Frog is no longer a link, second is
that on the %20 page below both menus there is a list of rings. How do you
check whether you have to embrace Crazy Frog by <strong></strong> tags, or
by <a href=""></a> tags (or display list of rings)? IMHO that's where the
bug is.

Or I have no idea what you are asking about

Borek
--
http://www.chembuddy.com
http://www.ph-meter.info
http://www.terapia-kregoslupa.waw.pl

Reply With Quote
  #10  
Old   
David
 
Posts: n/a

Default Re: Mod_rewrite/PHP problem driving me crazy!! - 10-23-2006 , 10:24 PM



On Mon, 23 Oct 2006 18:51:49 +0200, Borek
<m.borkowski (AT) delete (DOT) chembuddy.these.com.parts> wrote:

Quote:
I still don't get something.

I am going to the page:

http://www.temphelpwnc.com/Real-Musi...s/Bollywood/1/

Clicking on Crazy Frog in both upper and lower parts, and opening two
windows. One for %20 link:

http://www.temphelpwnc.com/Real-Musi...razy%20Frog/1/

and one for:

http://www.temphelpwnc.com/Real-Musi.../Crazy-Frog/1/

Now, there are two main differences between these pages.
I added the two sets of links so the differences can be seen between
working (top) and failing (bottom). When the problem is solved only
one version will remain in the end script.

Quote:
First difference
is that on the %20 page link to Crazy Frog is no longer a link, second is
that on the %20 page below both menus there is a list of rings. How do you
check whether you have to embrace Crazy Frog by <strong></strong> tags, or
by <a href=""></a> tags (or display list of rings)? IMHO that's where the
bug is.
What you see with the %20 version is when it works and the other -
version when it fails and gives the equivalent of an error page, it
tries to find say Crazy-Frog and fails, that is the problem how do I
get this script to recognise Crazy-Frog in place of Crazy Frog (or
Crazy%20Frog, Crazy+Frog).

This bit-

$trimcat=$aname;
if (strlen($trimcat)>24){
$trimcat=substr($trimcat,0,21) . $dot;}
if ($aname==$cat){
echo'<strong>'.$trimcat.'</strong> |';}
else{

Is responsible for the strong text, so if $aname==$cat it prints a
trimmed version (1st 21 characters) of the category name minus the
link code. Pretty sure this isn't part of the problem per se.

The reason the hyphenated version isn't bold is because $aname==$cat
isn't the same Crazy Frog ($aname) is not the same as Crazy-Frog
($cat).

Quote:
Or I have no idea what you are asking about
:-)

Quote:
Borek
David
--
PageRank Explained http://www.seo-gold.com/tutorial/pagerank.html
Free SEO Advice http://www.morearnings.com/2006/03/31/free-seo-advice/


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.