8768 sujets

Développement web côté serveur, CMS

Modérateur
Bonjour,

Il me faut utiliser des variables que je passe en get dans l'URL de la manière suivante :
http://mon.domaine/fr/nom-de-la-page/?menu=loisir

Ça fonctionne ainsi, mais je souhaiterais pouvoir réécrire mes url convenablement. Pour l'exemple ci-dessus, il faudrait qu'on ait ceci :
http://mon.domaine/fr/loisir/nom-de-la-page

Je me suis tourné vers le fichier htaccess pour cela et voici la règle que j'utilise (avant ce qui est défini par WordPress lorsqu'on choisit d'opter pour des permaliens "jolis" dans l'admin :
RewriteRule ^([a-z]{2})/([a-z0-9\-_]+)/([a-z0-9\-_]+)/?$ /index.php/$1/$3/?menu=$2 [L]

Ça fonctionne sur mon installation locale (wamp) mais pas sur le serveur distant, je n'arrive pas à comprendre pourquoi ! ce qui se passe : lorsqu'on indique une url de ce style :
http:/ /mon.domaine.fr/fr/loisir/nom-de-la-page
on tombe sur la page
http:/ /mon.domaine.fr/fr/nom-de-la-page
(loisir disparaît complètement).
Bien évidemment j'ai tenté différentes choses mais sans succès. C'est vraiment en désespoir de cause que j'écris ce message... Les permaliens sont enregistrés sous la forme
http:/ /mon-domaine.fr/%postname%
.
Merci d'avance pour vos lumières.
Le htacces complet (je réécris également pour les catégories, que je préfixe par un "c" et bizarrement, pour les catégories, la réécriture fonctionne !!!) :
# Rewriting for nice url
RewriteEngine On
RewriteBase /
# For categories
RewriteRule ^([a-z]{2})/c/([a-z0-9\-_]+)/([a-z0-9\-_]+)/?$ /index.php/$1/c/$3/?menu=$2 [L]
# For pages
RewriteRule ^([a-z]{2})/([a-z0-9\-_]+)/([a-z0-9\-_]+)/?$ /index.php/$1/$3/?menu=$2 [L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Modifié par jojaba (01 Dec 2016 - 06:30)
Modérateur
Personne pour me donner un petit coup de pouce ? Peut-être qu'il faut des informations complémentaires à ce sujet ? N'hésitez pas à m'en demander si nécessaire.
Comme cela fonctionne sur mon installation locale (wamp) et pas sur le serveur distant, je me dis que c'est sûrement dû à la configuration apache. J'ai envoyé mon httpd.conf.txt à l'admin du serveur pour comparaison avec la config du serveur. J'attends la réponse...
J'avais tenté de rajouter cette ligne dans le htaccess :
Options +FollowSymlinks

Mais cela a entraîné une erreur 500 sur le serveur distant.
Modifié par jojaba (04 Dec 2016 - 07:52)
Modérateur
Bon, retour de l'admin serveur :
Dans la configuration du virtualhost j'ai ça :
Options -Indexes FollowSymLinks
AllowOverride FileInfo AuthConfig Limit
L'option followsymlink est deja activée


Messages d'erreurs dans le log d'apache :
==================================
[Wed Nov 30 21:14:34 2016] [alert] [client 00.000.102.154] /home/sous-domaine/www/.htaccess: RewriteBase: argument is not a valid URL, referer:  http://sous-domaine.mon-domaine.fr/fr/c/mon-domaine/loisirs/
 
[Wed Nov 30 21:34:27 2016] [alert] [client 00.000.102.154] /home/sous-domaine/www/.htaccess: Options not allowed here, referer:  http://sous-domaine.mon-domaine.fr/fr/travail/
 
[Wed Nov 30 21:35:14 2016] [alert] [client 00.000.102.154] /home/sous-domaine/www/.htaccess: Options not allowed here, referer:  http://sous-domaine.mon-domaine.fr/fr/loisirs/
 
[Thu Dec 01 07:40:08 2016] [alert] [client 00.000.5.222] /home/sous-domaine/www/.htaccess: Options not allowed here, referer:  http://sous-domaine.mon-domaine.fr/wp-admin/options-permalink.php
 
[Thu Dec 01 07:40:12 2016] [alert] [client 00.000.5.222] /home/sous-domaine/www/.htaccess: Options not allowed here, referer:  http://sous-domaine.mon-domaine.fr/fr/famille/
 
[Thu Dec 01 07:41:08 2016] [alert] [client 00.000.5.222] /home/sous-domaine/www/.htaccess: Options not allowed here, referer:  http://sous-domaine.mon-domaine.fr/wp-admin/options-permalink.php
 
[Sat Dec 03 08:43:56 2016] [alert] [client 00.000.102.154] /home/sous-domaine/www/.htaccess: Options not allowed here
[Sat Dec 03 08:43:57 2016] [alert] [client 00.000.102.154] /home/sous-domaine/www/.htaccess: Options not allowed here
[Sat Dec 03 08:43:57 2016] [alert] [client 00.000.102.154] /home/sous-domaine/www/.htaccess: Options not allowed here

Je ne pense pas que les logs vont m'aider, puisque les erreurs que l'on y trouve sont liées à des remédiations que j'ai essayé de mettre en place (modifier la rewritebase, modifier dans l'admin de WordPres les permaliens, ....).
Modifié par jojaba (05 Dec 2016 - 13:17)