473,379 Members | 1,544 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,379 software developers and data experts.

Multi language site with PHP, mysql and cookies - how about search engines?

CAH
Hi

I need to make at multilanguage language site, and for that I need to
identify the users, and register there choice off language. For that i
imagine using cookies, since this is the only way to identify the
users. But from what I read search engines ignore cookies, and at the
same time I would like the users to be able to send links in there
choice of language to there friends, so I would like this sort of url
scheme.

www.site.com/en/
www.site.com/de/
www.site.com/fr/
.....

But I don´t like the idea of having a lot of duplicate files, with the
only difference being a reference to a specific column in my sql
database. What to do? How do others solve these problems?

Thanks for any advice
CAH
PS There is no reason to set up some sort of login, it would be to big
a burden on the user for this kind of site.)
www.winches.dk

Apr 9 '07 #1
7 9139
CAH wrote:
Hi

I need to make at multilanguage language site, and for that I need to
identify the users, and register there choice off language. For that i
imagine using cookies, since this is the only way to identify the
users. But from what I read search engines ignore cookies, and at the
same time I would like the users to be able to send links in there
choice of language to there friends, so I would like this sort of url
scheme.

www.site.com/en/
www.site.com/de/
www.site.com/fr/
....

But I don´t like the idea of having a lot of duplicate files, with the
only difference being a reference to a specific column in my sql
database. What to do? How do others solve these problems?
With mod_rewrite.

With that you can setup Apache to do this:
1) incoming URL:
www.site.com/en/page1.php
to
www.site.com/page1.php?lang=en

You can set up your own rules (using regular expression).

In that way you do not have to really create all these pages, but they
become virtual.
You only have to make page1.php pick up the $_GET["lang"] and make decisions
for your query based on that.
Regards,
Erwin Moller
>
Thanks for any advice
CAH
PS There is no reason to set up some sort of login, it would be to big
a burden on the user for this kind of site.)
www.winches.dk
Apr 9 '07 #2
CAH
With mod_rewrite.
>
With that you can setup Apache to do this:
1) incoming URL:www.site.com/en/page1.php
towww.site.com/page1.php?lang=en

You can set up your own rules (using regular expression).

In that way you do not have to really create all these pages, but they
become virtual.
You only have to make page1.php pick up the $_GET["lang"] and make decisions
for your query based on that.
Excellent advice, can Google register that one uses mod_rewrite, or is
it none the wiser? Can search engines have something agains this
solution?

Best regards
Cah

Apr 9 '07 #3
CAH wrote:
>With mod_rewrite.

With that you can setup Apache to do this:
1) incoming URL:www.site.com/en/page1.php
towww.site.com/page1.php?lang=en

You can set up your own rules (using regular expression).

In that way you do not have to really create all these pages, but they
become virtual.
You only have to make page1.php pick up the $_GET["lang"] and make
decisions for your query based on that.

Excellent advice, can Google register that one uses mod_rewrite, or is
it none the wiser? Can search engines have something agains this
solution?

Best regards
Cah
Hi,

Searchengine don't know about any url-rewriting taking place.
From a searchengine's point of view:
1) Ask some URL (www.example.com)
2) read all the hyperlinks
3) follow a hyperlink, eg: www.example.com/en/page1.php
4) Server responds with the HTML.
etc

The fact that the server in step 3 using URL rewriting (and actually uses
www.example.com/page1.php?lang=en) is completely unknown to the searchbot.
It is completely unknown to ANY client.
It is just something between you and your friend Apache. ;-)

Regards,
Erwin Moller
Apr 10 '07 #4
CAH wrote:
I need to make at multilanguage language site, and for that I need to
identify the users, and register there choice off language.
I urge you to also inspect the user's "Accept-Language" HTTP header to
determine the default language to show them if they haven't already chosen
a preferred language.

This HTTP header is sent by virtually all web browsers and more often than
not, indicates the user's preferred language.

--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux

* = I'm getting there!
Apr 10 '07 #5
CAH
On Apr 10, 2:16 pm, Erwin Moller
<since_humans_read_this_I_am_spammed_too_m...@spam yourself.comwrote:
CAH wrote:
With mod_rewrite.
With that you can setup Apache to do this:
1) incoming URL:www.site.com/en/page1.php
towww.site.com/page1.php?lang=en
You can set up your own rules (using regular expression).
In that way you do not have to really create all these pages, but they
become virtual.
You only have to make page1.php pick up the $_GET["lang"] and make
decisions for your query based on that.
Excellent advice, can Google register that one uses mod_rewrite, or is
it none the wiser? Can search engines have something agains this
solution?
Best regards
Cah

Hi,

Searchengine don't know about any url-rewriting taking place.
From a searchengine's point of view:
1) Ask some URL (www.example.com)
2) read all the hyperlinks
3) follow a hyperlink, eg:www.example.com/en/page1.php
4) Server responds with the HTML.
etc

The fact that the server in step 3 using URL rewriting (and actually useswww.example.com/page1.php?lang=en) is completely unknown to the searchbot.
It is completely unknown to ANY client.
It is just something between you and your friend Apache. ;-)

Regards,
Erwin Moller- Hide quoted text -

- Show quoted text -
Hi Erwin

It is indeed excellent, I am trying to figure this mod_rewrite out,
and I have gotten it to work with simple request. But I guess it most
be possible with just three lines in the htacces file. I would like
anything in the /en/ directory to just be moved to the above level and
have the everything after the /en/ moved up a level.

RewriteRule /subdic/en/() /subdic.php/$1?lang=en
RewriteRule /subdic/de/() /subdic.php/$1?lang=de
RewriteRule /subdic/dk/() /subdic.php/$1?lang=dk

I am trying to figure it out, can I make it work with sessions id -
PHPSESSID and all the rest?

Best regards
Cah
Apr 10 '07 #6
CAH
On Apr 10, 5:00 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote:
CAH wrote:
I need to make at multilanguage language site, and for that I need to
identify the users, and register there choice off language.

I urge you to also inspect the user's "Accept-Language" HTTP header to
determine the default language to show them if they haven't already chosen
a preferred language.

This HTTP header is sent by virtually all web browsers and more often than
not, indicates the user's preferred language.

--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux

* = I'm getting there!
Hi Toby

Thanks for the advice.
Best regards
Cah

Apr 10 '07 #7
CAH wrote:
On Apr 10, 2:16 pm, Erwin Moller
<since_humans_read_this_I_am_spammed_too_m...@spam yourself.comwrote:
>CAH wrote:
>With mod_rewrite.
>With that you can setup Apache to do this:
1) incoming URL:www.site.com/en/page1.php
towww.site.com/page1.php?lang=en
>You can set up your own rules (using regular expression).
>In that way you do not have to really create all these pages, but they
become virtual.
You only have to make page1.php pick up the $_GET["lang"] and make
decisions for your query based on that.
Excellent advice, can Google register that one uses mod_rewrite, or is
it none the wiser? Can search engines have something agains this
solution?
Best regards
Cah

Hi,

Searchengine don't know about any url-rewriting taking place.
From a searchengine's point of view:
1) Ask some URL (www.example.com)
2) read all the hyperlinks
3) follow a hyperlink, eg:www.example.com/en/page1.php
4) Server responds with the HTML.
etc

The fact that the server in step 3 using URL rewriting (and actually
useswww.example.com/page1.php?lang=en) is completely unknown to the
searchbot. It is completely unknown to ANY client. It is just something
between you and your friend Apache. ;-)

Regards,
Erwin Moller- Hide quoted text -

- Show quoted text -

Hi Erwin

It is indeed excellent, I am trying to figure this mod_rewrite out,
and I have gotten it to work with simple request. But I guess it most
be possible with just three lines in the htacces file. I would like
anything in the /en/ directory to just be moved to the above level and
have the everything after the /en/ moved up a level.

RewriteRule /subdic/en/() /subdic.php/$1?lang=en
RewriteRule /subdic/de/() /subdic.php/$1?lang=de
RewriteRule /subdic/dk/() /subdic.php/$1?lang=dk

I am trying to figure it out, can I make it work with sessions id -
PHPSESSID and all the rest?
Hi,

RewriteRule /subdic/en/() /subdic.php/$1?lang=en

What is the () excactly matching?
I am no REGEX wizard myself, but you can write that better, and in 1 rule.

I could be wrong, but what about:

RewriteRule /subdic/(en|de|dk)/(.*)$ /subdic.php/$2?lang=$1

(en|de|dk) <-- in $1
(.*)$ <-- The $ matches end-of-line. So $2 will contain the original
scriptname.

If you are passing more information in the URL, you need to adjust the
regexp to catch that too and make a good URL (with ? and &)

eg:
incoming URL:
http://www.example.com/subdic/en/page1.php?name=CAH

you want that translated into:
http://www.example.com/subdic/page1....me=CAH&lang=en

And:
http://www.example.com/subdic/en/page1.php
should be:
http://www.example.com/subdic/page1.php?lang=en

So you need to add more logic for the ? and &.

But as I stated before: I am no regexp wizard, so ask somebody else for help
on them. ;-)

Good luck.

Regards,
Erwin Moller

>
Best regards
Cah
Apr 11 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Mik Foggin | last post by:
Hi, Having spent my free time over the last few months converting several hundred pages of mainly static (s)html into eight pages of data driven php loveliness and a whopping MySQL database I'm...
1
by: WindAndWaves | last post by:
Hi Gurus How do I provide links that search engines can follow if my site is created in PHP and MySql and I always put the session ID in the link (header)? Are there any special tricks? ...
24
by: Kanthi Kiran Narisetti | last post by:
Hi All, I am Windows Systems Administrator(planning to migrate to Linux administration in near future), I have occassionally written few batch files and Vbscripts to automate my tasks. Now I...
4
by: prschmid | last post by:
I am currently creating a multi-language site using ASP .NET and was wondering what people think the best way to do this. Keeping a session variable of the users's choice? Cookies? Thank you in...
4
by: Miguel Dias Moura | last post by:
Hello, I launched a web site some time ago and i am having problems in making it visible in the search engines. I used a lot of Keywords, not only in text but also in links, page and image...
27
by: Bernard Bourée | last post by:
Is there a way to overpass the impossibility of VN.NET to accept the multi heritage, that is to allow a class to inherit from TWO mother classes ? -- Bernard Bourée bernard@bouree.net
5
by: Martien van Wanrooij | last post by:
I have been using phpdig in some websites but now I stored a lot of larger texts into a mysql database. In the phpdig search engine, when you entered a search word, the page where the search word...
71
by: Murray R. Van Luyn | last post by:
Hi, Since I have made changes to my website it's been a complete flop. According to the logs, as soon as visitors have downloaded the index page they are off. I can't figure out why? ...
7
by: ThunderMusic | last post by:
Hi, Ok, I find myself having a lot of troubles with URL Rewriting and I've seen on the net that in some situations, indexers have difficulty indexing sites because of some flaws in the url...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.