2011-08-03 4 views
1

Je suis en train d'écrire une règle simple .htaccess changerle .htaccess ne fonctionne pas

https://webxxx.example.net/~test/id/123 

à

https://webxxx.example.net/~test/show.php?id=123 

Mais

https://webxxx.example.net/~test/id/123 

se dirige désormais vers ma 404 Page non trouvée.

mon .htaccess:

RewriteEngine on 
RewriteRule ^\/?~test\/id\/(\w+)$ /~test/show.php?hash=$1 

Pourquoi pas ce travail?

+1

Est-ce que 'hash' devrait être' id'? –

+0

Qu'est-ce que '~ test'? Est-ce une référence au compte d'utilisateur 'public_html' du compte' test'? – zerkms

+0

@ Dan, @ Zerkms: oui! –

Répondre

3

La solution:

ne nécessitent pas correspondre à la référence du dossier public_html dans l'expression régulière, seulement remplacer

RewriteEngine onRewriteRule ^id\/(\w+)$ /~test/show.php?hash=$1 

Merci à tous :)

1

Où est placé le fichier .htaccess? est-ce sous la racine principale? ou est-ce sous le sous-dossier (sous-domaine) ... essayez de changer la place du .htaccess et assurez-vous qu'il se trouve sous la zone de sous-domaine spécifique.

+0

'domain.net' sur cette URL est une référence pour myhosting.com. le .htaccess est dans le dossier public_html –

0

Je pense que c'est ce que vous voulez:

RewriteEngine on  
RewriteRule ^id\/([0-9]*)$ /~test/show.php?id=$1 

Cela acceptera simplement les numéros après l'ID.