2009-05-26 10 views
0

Je rencontre des problèmes avec mon code ReWrite. S'il vous plaît noter que le fichier .htaccess est dans le dossier du sous-domaine (... public_html/sous-domaine /).htaccess Aide ModReWrite

J'essaie simplement de réécrire une demande de page:

http://subdomain.mysite.com/home 
http://subdomain.mysite.com/index.php?page=home 

Mon fichier .htaccess ressemble à ceci. ..

RewriteEngine On 
RewriteRule ^/([A-Za-z0-9\-\_])$ /index.php?page=$1 

Est-ce que quelque chose vous saute aux yeux?

Répondre

3

Votre règle actuelle fonctionne probablement pour les urls d'un caractère (après la barre oblique)!

Ajouter un + pour signifier un ou plusieurs caractères, ou un * zéro ou plus

Essayez

RewriteEngine On 
RewriteRule ^/([A-Za-z0-9\-\_]*)$ /index.php?page=$1 
2

Si vous souhaitez utiliser les règles dans un fichier .htaccess, vous devez enlever le préfixe de chemin d'accès contextuel par répertoire du modèle RewriteRule. Si le fichier .htaccess se trouve dans la racine du document /, vous devez supprimer le fichier /.

De plus, vous devez quantifier le jeu de caractères. Sinon, il ne décrirait que un caractère.

Donc, essayez cette règle:

RewriteRule ^([A-Za-z0-9-_]+)$ index.php?page=$1 
0

Je pense

RewriteRule ^([^/]*)$ /index.php?page=$1 [L] 

est ok;)

+0

S'il vous plaît ne donnent pas de réponse en fonction des pensées. Le code dans votre réponse devrait être testé. – Starx