[Resolu] URL rewriting : "?" en trop

Nouveau WRInaute
Ah si j'ai un petit problème :

Je n'arrive plus à accéder au répertoire de l'admin "/wp-admin" en mettant :

Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule (.*) /%1? [R=301,L] 

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
 
WRInaute impliqué
progfrance a dit:
Ah si j'ai un petit problème :

Je n'arrive plus à accéder au répertoire de l'admin "/wp-admin" en mettant :

Déjà, vire les directives redondantes. Ensuite j'ai rajouté une conditions qui teste si ce n'est pas un sous répertoire. Est-ce que clea va mieux?


Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /%1? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
 
Nouveau WRInaute
Alors j'ai fait quelques tests et j'ai compris ce qui ne marchait pas :

Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule (.*) /%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

J'ai mise le htaccess ci-dessous et le sous répertoire est accessible mais c'est la page web wp-login.php qui faisait mon erreur !
Alors comment prendre en compte cette page pour qu'elle ne fasse pas la redirection ?

Edit: pareil pour le fichier sitemap.xml , c'est à dire certains fichiers à la racine.
 
WRInaute impliqué
Je ne sais pas si ça a un effet,
mais efface ce qui suit:

Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

et rajoute ce qui suit avant RewriteEngine On

Code:
DirectoryIndex index.php
 
Nouveau WRInaute
Ah ça y est presque, il manque un truc mais je ne sais pas comment faire !
Alors toutes les rédirections marchent bien même wp-login.php, il manque juste les paramètres dans l'admin qui sont ma interprétés :

http://blog.wynfo.net/wp-admin/post.php?action=edit&post=892

qui redirige vers :

http://blog.wynfo.net/action=edit&post=892

Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
DirectoryIndex index.php 
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule (.*) /%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 
</IfModule>

# END WordPress
 
WRInaute impliqué
Essaie ça a la place de la première regle :

Code:
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^([^/]*)$ /%1? [R=301,L]

ou ça

Code:
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^/([^/]*)$ /%1? [R=301,L]

J'essaie de dire que la règle ne doit pas s'appliquer s'il y a des répertoires.

JF
 
Nouveau WRInaute
Merci ça à l'air de fonctionner dans la plupart des cas donc ça me va pour l'instant !

Encore merci pour le temps que cela t'a pris !
 
WRInaute impliqué
De rien, ça me fait apprendre la récriture au passage. C'est un sujet complexe.

Quelle règle as tu utilisé au final?
 
Discussions similaires
Haut