2011-10-24 4 views
2

Ce que je suis en train de faire est assez simple, mais aucune des réponses stackoverflow adresse ce exactement:url rewrite pour deeplinking

Comment puis-je utiliser .htaccess pour insérer une balise de hachage entre l'URL de base et la route demandé?

-à-dire

http://mydomain.com/shop 

deviendra

http://mydomain.com/#/shop 

je veux utiliser .htaccess parce que je me sens comme sa une solution plus propre que côté serveur php. la raison pour laquelle je peux le faire est parce que j'utilise l'adresse jquery qui prend en charge les liens sur la page remplaçant l'attribut href. il se casse juste si la balise de hachage ne se met pas correctement.

+1

double possible de [mod_rewrite avec lien d'ancrage] (http://stackoverflow.com/questions/2686075/mod-rewrite-with-anchor-link) – Phil

Répondre

2

Il suffit d'utiliser mod_rewrite tourbière standard avec le "non-évasion option" (NE):

RewriteRule ^shop /\#/shop [R=301,L,NE] 
+0

Vous ne préfixe pas le modèle de correspondance avec l'avant -slash dans la config par répertoire, ie '.htaccess' – Phil

+0

Oh, bonne prise, phil. Édité. – timdev

+0

Je voulais dire le bit '^/shop'. Devrait être '^ shop' – Phil

0

Ci-dessous le code est utile pour deeplinking.You besoin de valider le navigateur et rediriger vers le magasin d'applications si le module n'est pas installé, s'il est installé signifie qu'il redirigera vers l'intérieur de l'application.

//Validate browser 
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') == !FALSE) { 
?> 
<script> 
    window.location = 'deeplinkexample://'; 
    setTimeout(function() { 
     window.location = 'https://itunes.apple.com/us/app/apple/id1145838819?l=fr&ls=1&mt=8' 
    }, 250);enter code here 
</script> 
<?php 
}