RewriteRule pour ajouter "#/"

Nouveau WRInaute
Bonjour à tous,

Je cherche à modifier un url de départ (ex : monsite.com/accueil/) en ajoutant "#/" (ex:monsite.com/#/accueil/).
Mon site est full flash avec deep linking via swfaddress, mais url sont donc du type monsite.com/#/accueil/. Mais je souhaite les soumettre à GG sous cette forme : monsite.com/accueil/

Voici mon .htaccess, qui ne fonctionne pas :
Code:
# Enables mod_rewrite
Options +FollowSymlinks
RewriteEngine on

# Sets the base folder
RewriteBase  /fr

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$  /#/$1 [R,L]

La réécriture me semble simple mais le résultat mène vers une 404.
J'ai essayé pas mal de solutions mais j'ai de sérieuses lacunes en regex....
Et je commence à en perdre mon latin !

Un petit peu d'aide me sauverai...
Merci à vous :)

dfuzion
 
WRInaute impliqué
Impossible à faire coté serveur, il n'a pas connaissance de ce qu'il y a après l'ancre (#).
Seul le client (navigateur) qui peut traiter cela.
 
Nouveau WRInaute
merci pour ta réponse !
Ils ont une solution (que j'ai du mal à comprendre) chez Asual (swfaddress) et il m'avait semblé que leur fichier htaccess y était pour quelque chose...
Je vais donc m'orienter vers autre chose...
Cdlt.
 
WRInaute impliqué
Je pense savoir d'où vient le problème.

Effectivement l'ancre n'existe pas côté serveur, cependant je pense qu'il est possible de rediriger le visiteur vers une URL qui contient une ancre.

Le fait que tu obtiennes une erreur 404 dans ton cas est normal, car ton serveur va chercher un répertoire qui s'appelle "#" (avec la syntaxe que tu as donnée).

Je pense que le problème devrait se résoudre si tu force le rewriting à envoyer une redirectino 301 (R=301) ET donner une URL absolue (avec http://domaine...).

Essaye et tiens nous au courant.
 
Nouveau WRInaute
Merci, je regarde ça. Par contre, je doutais de la syntaxe et du regex mis en place dans mon htaccess. Est-ce correct ou y-a-t'il des corrections à faire ?
 
Nouveau WRInaute
Bon après quelques tests toujours rien de probant mais j'ai l'impression que l'on se rapproche d'une solution :

Code:
<IfModule mod_rewrite.c>

# Enables mod_rewrite
RewriteEngine on

# Sets the base folder
RewriteBase  /fr

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /#/$1 [R=301,L] 

</IfModule>

Avec cet htaccess j'ai maintenant monsite.com/%23/%23/%23/%23/accueil/ (ds la barre d'adresse) au lieu de monsite.com/#/accueil/
Avec donc une 404 qui reprend l'adresse monsite.com/#/#/#/#/accueil/
Pourquoi # est-il reproduit 4 fois ? Et pourquoi le codage n'est-il pas bon dans la barre d'adresse ? ...
:x
 
Nouveau WRInaute
après avoir passé mon charset en utf-8 dans ma page index, je n'ai plus qu'une 404 sans réécriture...

Correction : en url absolu je retrouve le rewriting mais avec 4 fois #/ et donc %23/ dasn la barre d'adresse.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut