htaccess rewriterule med hash

Tags:    htaccess mod-rewrite url-rewriting

jeg er ved at lave følgende:

minside.dk/hvadsomhelst skal vise siden minside.dk/folder/index.html#hvadsomhelst

RewriteRule ^([\w]+)/?$ folder/index.html#$1 [R,NC,NE,L]
virker på den måde at hvis jeg taster minside.dk/hvadsomhelst viderestilles jeg til
minside.dk/folder/index.html#hvadsomhelst og browserurl viser også den lange adresse.

Jeg ønsker at browserurl skal blive ved den korte adresse.
Dette gør :
RewriteRule ^([\w]+)/?$ gallery/slider.html#$1 [L] men hashværdien er så ikke tilgængelig for javascript.

Er der en løsning?




4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udKode 


Er denne kode ikke en mulighed?



Jeg må have sovet lidt.

Til min brug er
RewriteRule ^([\w]+)/?$ gallery/slider.html#$1 [L] løsningen og jeg kan få hashværdien med

document.location.href.replace(/.*\//,'')





Hvad er det så der er problemet?



Det er slut. Den kode du sendte tillader alle tegn før forwardslash. Den jeg bruger \w tillader kun bogstaver, tal og _ Dette var ikke problemet.

Problemet var at jeg prøvede at få hashværdien med location.hash og det var ikke muligt. Der skal man bruge location.href.

Problemet er løst. Tak for din interesse.

************************************************************************

Det interessante er at hvis man laver en redirect som

RewriteRule ^([^/\.]+)/?$ /index.php?id=$1 [L]



der viser den korte url, så er den lange urls værdi med id=$1 tilgængelig som $_GET['id] for et php program.

Det samme er altså ikke tilfældet med hashværdien og location.hash i et javascript program. Det var mit problem.



(denne variation tillader alt andet en forwardslash og punktum. Det er uden betydning for problemet)



Indlæg senest redigeret d. 21.10.2011 12:04 af Bruger #16823
t