Vraag & Antwoord

Webprogrammeren & scripting

htaccess: URL-Rewrite en Hash #

Anoniem
corne_mo
6 antwoorden
  • Ik heb een URL-rewrite en een URL met een hash. Mijn probleem is dat de # wordt omgezet in %23, en dan werkt e.e.a. niet meer omdat zowel mijn php variabele als mijn hash (om ajax-permanent urls te maken) niet meer herkend worden.
    Hoe kan ik ervoor zorgen dat # gewoon als # in the url balk komt na aan url-rewrite?
  • Kan je laten zien wat je nou hebt??

    Heb je geprobeerd de # letterlijk in de nieuwe url te zetten?
  • Ik heb het volgende geprobeerd:
    [quote:119c71edb9]RewriteEngine on
    RewriteRule ^test/([a-z]+)/([0-9]+)([a-z])([0-9]+)$ http://members.lycos.nl/meondaweb/test/$1.php?test1=$2#test2=$3_test3=$4 [L]
    [/quote:119c71edb9]
    Wat mij wel een URL returned, maar met %23 ipv #.
    Maar omdat ik de # ook nodig heb in de url zelf, moest dit iets worden van:
    [quote:119c71edb9]RewriteRule ^test/([a-z]+)/([0-9#]+)([a-z])([0-9]+)$ http://members.lycos.nl/meondaweb/test/$1.php?test1=$2test2=$3_test3=$4 [L] [/quote:119c71edb9]
    Waarbij $2 als het goed is gelijk de # in zich heeft. Deze versie lijkt niet te herschrijven te zien. Ik krijg continue een 404 wanneer ik bijvoorbeeld de volgende URL intyp:
    http://members.lycos.nl/meondaweb/test/testajax/3#b7
  • Wat ik me ineens bedenk is dat het gedeelte vanaf # niet eens naar de server gestuurd hoeft te worden.
    Dit uitgeprobeerd door te gebruiken:
    [quote:0c45881e48]RewriteRule ^test/([a-z]+)/([0-9]+)$ http://members.lycos.nl/meondaweb/test/$1.php?test1=$2 [L][/quote:0c45881e48]

    Dit werkt op zich wel qua php en rewrite, maar mijn javascript wil de # waardes niet herkennen ondanks dat mijn url deze wel blijft bevatten.
  • Probeer het teken eens te escapen, dus \# ipv #.
  • Op het moment dat ik deze url gebruik:
    [quote:4cbc282672]
    http://members.lycos.nl/meondaweb/test/testajax/3#b7
    [/quote:4cbc282672]
    in combinatie met
    [quote:4cbc282672]
    RewriteRule ^test/([a-z]+)/([0-9]+)$ http://members.lycos.nl/meondaweb/test/$1.php?test1=$2 [L]
    [/quote:4cbc282672]
    zou ik verwachten dat het werkt, omdat er naar de server gestuurd wordt:
    [quote:4cbc282672]http://members.lycos.nl/meondaweb/test/testajax.php?test1=3[/quote:4cbc282672]
    en omdat de url gewoon blijft staan zou ik verwachten dat window.location.hash gewoon #b7 uitleest. Dit laatste is niet het geval. Heeft hash misschien altijd een document extentie nodig voordat deze een waarde uitleest, want een url met .html#b7 werkt wel. (maar natuurlijk niet voor mijn toepassing waarbij ik de url in het url-venster niet wil herschrijven.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.