2010-10-02 5 views
0

Je ne vais pas mentir. Je crains d'écrire des règles htaccess. Je suis d'accord avec regex cependant.htaccess conseil - comment écrire cette règle?

Ok, essentiellement, l'utilisateur entre url: www.site.com/page.id ou www.site.com/folder/page.id~~V~~singular~~3rd

Cela devrait être interne par écrit à: www.site.com/ index.php? page = id

J'ai les choses triées dans l'index.php, mais je n'arrive pas à le pirater avec le htaccess.

Selon vous, que devrait-il être?

EDIT: business/legal/service-level-agreement.10 et services.5 devraient fonctionner, donc la règle aurait besoin d'obtenir le chiffre après le point, point.

Répondre

1

Essayez cette règle:

RewriteRule ^([^/]+/)?([^/]+)\.(\d+)$ index.php?$2=$3 
+0

En fait, cela fonctionne, jusqu'à ce que j'ai des choses au troisième niveau, par ex. business/legal/service-level-agreement.10 Donc ce que je suis essentiellement après est quelque chose qui cherche un nombre, qui a un point, avant. C'est généralement dans le dernier bit de la chaîne. – bear

+1

@ ct2k7: Il suffit de remplacer '([^ /] + /)?' Par '([^ /] + /) *'. – Gumbo

+0

Merci Gumbo :) – bear

1

La façon la plus simple serait:

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

Jetez un oeil ici peut-être cela peut aider:

generateit

cooletips

webmaster-toolkit

+0

bien que la règle n'a pas fonctionné, merci pour les liens :) La règle fait exactement ce que le système est en train de faire, en regardant tout le lot. – bear