2013-10-16 3 views
1

j'ai récrivant une partie .htaccess comme:.htaccess simplification regex

RewriteRule ^content/([^/]+)/([^/]+)/?$ /index.php?section=clanky&page=$1&id=$2 [L] 
RewriteRule ^content/([^/]+)/?$ /index.php?section=clanky&page=$1 [L] 
RewriteRule ^content/?$ /index.php?section=clanky [L] 

Est-il possible de le rendre plus simple (une ligne) à une modification plus facile?

Merci beaucoup

Répondre

1

Tant que vous ne me dérange pas d'obtenir des paramètres dans votre php blanc $_GET tableau, vous pouvez simplement faire ceci:

RewriteRule ^content/?(?:([^/]+)/?|)(?:([^/]+)/?|)$ /index.php?section=clanky&page=$1&id=$2 [L] 

Cela signifie que si l'URI ressemble à ceci :

/content/123/asd 

Le tableau $_GET sera:

Array 
(
    [section] => clanky 
    [page] => 123 
    [id] => asd 
) 

Et si c'est comme ça:

/content/qwe 

Vous obtiendrez:

Array 
(
    [section] => clanky 
    [page] => qwe 
    [id] => 
) 

Et si c'est:

/content/ 

alors:

Array 
(
    [section] => clanky 
    [page] => 
    [id] => 
) 
+0

Très bien, merci. Donc en PHP, je n'aurai qu'à utiliser "!"() À la place de isset(). – Gomi