J'ai construit une . Htaccess URL propre, cette partie fonctionne parfaitement dans mon . Htaccess:
RewriteCond %{THE_REQUEST} /road.php\s [NC]
RewriteRule . نقفورالثانيفوكاس/ [R=301,L]
RewriteRule ^نقفورالثانيفوكاس/$ road.php [L]
Mais cette partie des paramètres crée des espaces dans ma navigation:
<?php
$tit = urlencode("نقفورالثاني-فوكاس");
$cap = urlencode("الطريق-للقمة");
?>
<a href = '<?php echo "road.php?title=$tit&caption=$cap" ; ?>'>
Choisir seulement road.php fonctionne:
http://www.nikephorosphokas.com/%D9%86%D9%82%D9%81%D9%88%D8%B1%D8%A7%D9%84%D8%AB%D8%A7%D9%86%D9%8A%D9%81%D9%88%D9%83%D8%A7%D8%B3/
(Le titre affiche très bien en arabe, donc cela fonctionne)
Mais avec les deux paramètres, il en résulte beaucoup d'espaces:
http://www.nikephorosphokas.com/%D9%86%D9%82%D9%81%D9%88%D8%B1%D8%A7%D9%84%D8%AB%D8%A7%D9%86%D9%8A%D9%81%D9%88%D9%83%D8%A7%D8%B3/%25D9%2586%25D9%2582%25D9%2581%25D9%2588%25D8%25B1%25D8%25A7%25D9%2584%25D8%25AB%25D8%25A7%25D9%2586%25D9%258A%25D9%2581%25D9%2588%25D9%2583%25D8%25A7%25D8%25B3/%25D8%25A7%25D9%2584%25D8%25B7%25D8%25B1%25D9%258A%25D9%2582%25D9%2584%25D9%2584%25D9%2582%25D9%2585%25D8%25A9/
(Ce n'est pas ce que je veux, donc ça ne marche pas)
Ceci est mon complet . Htaccess:
RewriteCond %{THE_REQUEST} /road.php\s [NC]
RewriteRule . نقفورالثانيفوكاس/ [R=301,L]
RewriteRule ^نقفورالثانيفوكاس/$ road.php [L]
RewriteCond %{THE_REQUEST} /road.php\?title=([^&\s]+)\s [NC]
RewriteRule . نقفورالثانيفوكاس/%1/? [R=301,L]
RewriteCond %{THE_REQUEST} /road.php\?title=([^&\s]+)&caption=([^&\s]+)\s [NC]
RewriteRule . نقفورالثانيفوكاس/%1/%2/? [R=301,L]
RewriteRule ^نقفورالثانيفوكاس/([^/]+)/$ road.php?title=$1 [L]
RewriteRule ^نقفورالثانيفوكاس/([^/]+)/([^/]+)/$ road.php?title=$1&caption=$2 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
J'ai essayé d'ajouter rlendice ou rawurlencode, mais le résultat était le même.
Je suis à peu près sûr que vous devez utiliser les adresses codées PunyCode dans le fichier .htaccess. Essayez de convertir les valeurs arabes en punycode avec un outil tel que celui-ci: http://www.punycoder.com/
Je l’ai fait de cette façon pour les adresses cyrilliques et cela a bien fonctionné.