2
Je travaille sur un RewriteRule afin d'avoir des URL comme ceux-ci: http://www.myhost.com/var1/var2/fin rewriterule slash
RewriteRule ^(.*)\/(.*)\/$ index.php?var1=$1&var2=$2 [L]
Ce que je voudrais ajouter est que lorsque quelqu'un tape myhost.com/var1/var2 (sans barre oblique), il va toujours à la même page.
Existe-t-il une meilleure façon de le faire?
RewriteRule ^(.*)\/(.*)\/$ index.php?var1=$1&var2=$2 [L]
RewriteRule ^(.*)\/(.*)$ index.php?var1=$1&var2=$2 [L]
Cela fonctionne, mais il a cassé l'accès à mes fichiers CSS (qui sont en myhost.com/folder1/folder2/). Une idée pourquoi? –
Ouais, parce que ceci correspond à n'importe quel accès à deux dossiers et le passe à index.php à la place. Vous devriez ajouter 'RewriteCond% {REQUEST_FILENAME}! -f' et' RewriteCond% {REQUEST_FILENAME}! -d' dans deux lignes différentes juste avant la RewriteRule, ainsi les fichiers existants ne seront pas affectés par cette règle. – Seb
Merci c'est ce que je cherchais. Mais maintenant, si je tape myhost.com/var1/var2, ça va, mais si j'essaye myhost.com/var1/var/ il est reconnu comme myhost.com/var1var2. Voici mon code: RewriteCond% {REQUEST_FILENAME} -f RewriteCond% {REQUEST_FILENAME} -d RewriteRule^(*). \/(*). \/$ Index.php var1 = 1 & var2 $!? = $ 2 [L] –