|
Posted by Erwin Moller on 04/11/07 06:52
CAH wrote:
> On Apr 10, 2:16 pm, Erwin Moller
> <since_humans_read_this_I_am_spammed_too_m...@spamyourself.com> wrote:
>> 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.php?name=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
Navigation:
[Reply to this message]
|