Hvordan læser jeg url-parametre efter #-tegn?

Tags:    php

Hej alle

Jeg arbejder en hel del med flashsites og vil i den forbindelse gerne gøre mine data tilgængelige for søgemaskiner.

I forvejen bruger jeg noget javascript-kode, der hedder SWFAddress, som laver deeplinks til min flashsite. Det fungerer ganske fint.

Via et CMS kan jeg også genere en sitemap.xml, hvor alle deeplinks fremgår og google er indtil videre glade for mine links i sitemap-filen.

Mine deeplinks ser fx sådan ud: www.mitsite.dk/menu/

Men der sker dog en lille htaccess-ting, for når man så kommer ind på sitet ændres urlen til www.mitsite.dk/#/menu/

#-tegnet bruger SWFAddress til at sende deeplinket til flash, så det er ligesom nødvendigt.

Google har som sagt intet problem med mine deeplinks, men problemet er, at jeg gerne vil gøre mere data tilgengængelig for google - lige nu indexerer google nemlig kun siden med en titel og altså ikke mere. Jeg vil fx gerne kunne skrive www.mitsite.dk/#/menu?menuid=123 også videre, altså hente noget data ud fra en parameter i urlen og fx smide data på det grundlag i en <p></p>.

Problemet er, at PHP ikke læser alt det efter #-tegnet, hvis jeg fx bruger værdien $_SERVER['REQUEST_URI'] - og problemet er, at PHP'en tilsyneladende træder i kraft efter htaccess'en, så derfor kan jeg aldrig få fat på mine url-parametre?

Er der nogen, der har en forklaring eller et forslag til, hvordan jeg kan løse mit problem?

På forhånd tusind tak

Joel



Havelågen er et anchor-tegn og bruges af browseren. Alt efter havelågen bliver aldrig sendt videre til serveren og det er noget klienten sørger for.

Havelågen bliver brugt af javascript der sender parametrerne videre til din flash. Så det du kan gøre er at parse URLen med javascript ( som allerede gøres) og så sende noget AJAX kald til serveren.



Hej Gnu

Kan du give mig et hint i den rigtige retning i forbindelse med, hvordan jeg sender tilbage via Ajax?

Bare sådan en kort beskrivelse af, hvordan det teoretisk set skal opbygges og fungere? Jeg har nemlig ikke før arbejdet med Ajax kald til serveren?

Tak, tak, tak:bounce:



Indlæg senest redigeret d. 03.07.2008 08:51 af Bruger #13962
Kan du give mig et hint i den rigtige retning i forbindelse med, hvordan jeg sender tilbage via Ajax?


Vil hellere henvise dig til xajaxproject.org, der kan du læse dig frem til hvordan man opsætter et mini ajax projekt...



Ok, tak for hjælpen...



Hej Gnu

Vil bare lige fortælle, at jeg i dette øjeblik har sendt min første url-parameter via xajax til PHP. Stort! Og faktisk slet ikke så svært, som jeg frygtede. Nu er jeg selvfølgelig spændt på, om de kære google-robotter opsnapper indholdet, men det vil tiden vise...

Tak for hjælpen, det er nogle super gode værktøjer, som jeg helt sikkert skal arbejde mere med.

Mange hilsner

Joel



Hej Gnu

Jeg har stødt ind i endnu et problem, som du måske kan hjælpe med. Det går som sagt fint med ovenstående, men det er ligesom om, at min data kommer for sent tilbage til søgerobotterne.

Der findes en række forskellige seo-værktøjer på nettet: Blandt andet www.vertikal.dk/strip hvor man kan se ens site med en søgemaskines øjne og her er det tydelige, at jeg ikke får mine data med via ajax.

Se fx følgende side, hvor jeg har sat en demo op:

http://www.joel.biz/xajax/examples/test.php?menuid=120

Som du kan se, dukker data op for sent, det vil sige nogle dyrebare milisekunder efter at sitet er loaded og jeg formoder, det er grunden til, at søgerobotterne ikke registrerer den 'fetchede' data. Hvad kan jeg gøre? Har du nogen forslag?

På forhånd tak for hjælpen...



Indhold hentet via ajax eller med andre ord: javascript, efter initial pageload vil aldrig blive fundet af botterne. En bot kan ikke afvikle javascript.
Den eneste metode der er til at rette dette problem, er at lade indholdet komme med ved initial pageload.



Ok, men kan jeg gøre det med xajax?



Du bruger javascript, da du benytter AJAX, så nej. Forklarede det også i forrige indlæg.



Indlæg senest redigeret d. 20.07.2008 10:25 af Bruger #10216
Hej Gnu

Fint, jeg tror, så kun der er en vej. Og det er at lave en mod/rewrite i htaccess. Derved kan jeg få fat i en url-parameter og så senere påføre havelågen...

Tak for kommentarerne.

De bedste hilsner

Joel



t