Je veux convertir example.com/test/test2 en example.com/Test/Test2. Utilisation de .htaccess ou apache (2.4) rewritemap.
J'ai trouvé beaucoup d'options, mais elles changent toutes toutes les lettres du mot, comment augmenter uniquement la première lettre après chaque "/"
J'apprécierai vraiment vos aimables réponses.
J'ai essayé le code suivant :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond expr "toupper(%{REQUEST_URI}) =~ m#(.+)/?$#"
RewriteRule [a-z] %1/ [L]
J'ai trouvé beaucoup d'options, mais elles changent toutes toutes les lettres du mot, comment augmenter uniquement la première lettre après chaque "/"
Définissez d'abord cela RewriteMap
dans votre configuration Apache et redémarrez le serveur Web.
RewriteMap uc int:toupper
Ensuite, utilisez la règle dans la racine de votre site .htaccess pour convertir la première lettre après chaque /
en majuscule.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Z].*/)?([a-z])(.*) /$1${uc:$2}$3 [R=302,L,NE]
Testez-le après avoir vidé le cache de votre navigateur.
Mise à jour : basé sur le commentaire ci-dessous en majuscules uniquement dans les deux premiers sous-répertoires :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Z][^/]+/)?([a-z])(.*) /$1${uc:$2}$3 [R=302,L]
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots