Comment puis-je faire des Url insensible à la casse sous Linux server
Je suis en train de travailler sur un site web qui est déployé sur un serveur Linux. J'ai des petites modifications à faire sur ce point. J'ai un dossier read
. L'exigence est que si j'entre l'URL localhost:80/tom/Read
ou ../READ
ou /read
il a besoin pour naviguer à read.php
à l'intérieur d'un read
dossier.
J'ai créé un fichier .htaccess sous un répertoire racine. Placé code suivant mentionner ci-dessous dans le fichier en voyant la page mentionné ici
RewriteEngine On
RewriteBase /tom/
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ![A-Z] - [S=26]
RewriteRule ^(.*)(A)(.*)$ $1a$3 [N,R=301]
RewriteRule ^(.*)(B)(.*)$ $1b$3 [N,R=301]
RewriteRule ^(.*)(C)(.*)$ $1c$3 [N,R=301]
RewriteRule ^(.*)(D)(.*)$ $1d$3 [N,R=301]
RewriteRule ^(.*)(E)(.*)$ $1e$3 [N,R=301]
RewriteRule ^(.*)(F)(.*)$ $1f$3 [N,R=301]
RewriteRule ^(.*)(G)(.*)$ $1g$3 [N,R=301]
RewriteRule ^(.*)(H)(.*)$ $1h$3 [N,R=301]
RewriteRule ^(.*)(I)(.*)$ $1i$3 [N,R=301]
RewriteRule ^(.*)(J)(.*)$ $1j$3 [N,R=301]
RewriteRule ^(.*)(K)(.*)$ $1k$3 [N,R=301]
RewriteRule ^(.*)(L)(.*)$ $1l$3 [N,R=301]
RewriteRule ^(.*)(M)(.*)$ $1m$3 [N,R=301]
RewriteRule ^(.*)(N)(.*)$ $1n$3 [N,R=301]
RewriteRule ^(.*)(O)(.*)$ $1o$3 [N,R=301]
RewriteRule ^(.*)(P)(.*)$ $1p$3 [N,R=301]
RewriteRule ^(.*)(Q)(.*)$ $1q$3 [N,R=301]
RewriteRule ^(.*)(R)(.*)$ $1r$3 [N,R=301]
RewriteRule ^(.*)(S)(.*)$ $1s$3 [N,R=301]
RewriteRule ^(.*)(T)(.*)$ $1t$3 [N,R=301]
RewriteRule ^(.*)(U)(.*)$ $1u$3 [N,R=301]
RewriteRule ^(.*)(V)(.*)$ $1v$3 [N,R=301]
RewriteRule ^(.*)(W)(.*)$ $1w$3 [N,R=301]
RewriteRule ^(.*)(X)(.*)$ $1x$3 [N,R=301]
RewriteRule ^(.*)(Y)(.*)$ $1y$3 [N,R=301]
RewriteRule ^(.*)(Z)(.*)$ $1z$3 [N,R=301]
Mais ça ne fonctionne pas.
Je suis nouveau à l'environnement Linux. Je ne sais pas à propos de mod_speling. C'est qu'un fichier? Où il sera situé dans le serveur Linux?
Je m'interroge sur la spécification ici. Cela conduira à plus de problèmes, par exemple, avec moteur de recherche d'indexation.
double possible de casse les Url avec le mod_rewrite
Ouais, l'exigence est susceptible d'être un problème en soi. Cela dit, il y a un module Apache qui peut aider (c'est le seul qui peut faire face à des demandes qui sont un peu hors, et de servir une alternative... j'ai oublié le nom) Edit: c'est
Salut dystroy.. je suis nouveau en php. Je viens de google pour la solution et écrit comme ci-dessus.. Si vous avez une solution s'il vous plaît laissez-moi connu..
double possible de Comment dois-je faire serveur Linux url insensible à la casse?
double possible de casse les Url avec le mod_rewrite
Ouais, l'exigence est susceptible d'être un problème en soi. Cela dit, il y a un module Apache qui peut aider (c'est le seul qui peut faire face à des demandes qui sont un peu hors, et de servir une alternative... j'ai oublié le nom) Edit: c'est
MultiViews
Salut dystroy.. je suis nouveau en php. Je viens de google pour la solution et écrit comme ci-dessus.. Si vous avez une solution s'il vous plaît laissez-moi connu..
double possible de Comment dois-je faire serveur Linux url insensible à la casse?
OriginalL'auteur sonorita | 2013-02-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez facilement faire le serveur web apache ignorer les cas à l'aide de la mod_speling module, qui fait partie de la distribution standard d'apache:
Après le redémarrage de httpd vous pouvez accéder à
read
commeRead
ouREAD
ouread
.Je me demande s'il y a des considérations de performance lors de l'utilisation de ce. J'ai un grand Sencha application qui a ce problème. 390MB de fichiers en tous cas mixtes et référencé différemment à travers..
Suis-je le seul qui trouve ironique, c'est que le module de vérification de l'orthographe est mal orthographié?
Oui, il est question de performance, mais c'est un quick fix blog.servergrove.com/2010/08/24/...
Il est très volontaire: httpd.apache.org/docs/2.4/mod/mod_speling.html#comment_6522
OriginalL'auteur hoeni
Salut, je suis la solution finalement. Placé le code ci-dessous dans
/etc/httpd/conf/httpd.conf
.Puis redémarrer httpd:
Et, enfin, de vérifier s'il est activé:
Qui devrait donner
speling_module (shared)
Merci pour l'aide pour tous..
Le
speling
module ne semble pas être activé par défaut sur Debian (probablement Ubuntu). Pour l'activer, utilisez la commandesudo a2enmod speling
.Je pense que le module est correctement orthographié est absolument fantastique.
De grande et de Travailler answear!
OriginalL'auteur sonorita
D'abord installer speling_module.
Ensuite inclure
LoadModule speling_module modules/mod_speling.so
dans httpd.fichier conf et ensuite incluredans httpd.conf, puis redémarrez le service httpd à l'aide de service httpd restart commande.
OriginalL'auteur Phaneendra Kasalanati
Salut ne sais pas si c'est utile mais c'est la simple workabout j'ai utilisé, il utilise un très de base page php mais il travaille pour le site j'en avais besoin.
Placez ce code dans le fichier htaccess
J'ai ensuite créé un fichier php avec le suivant..
Fondamentalement, il obtient l'url de référence -> magasins de $aurl
il met ensuite en minuscules -> magasins de $lurl
si elles ne sont pas de correspondance puis, il essaye d'afficher les minuscules url ($lurl)
En cas d'échec de la page n'existe pas, la référence de l'url est maintenant le même ( $lurl == $aurl )
donc, il redirige ensuite à une page 404 ou d'afficher certaines de code supplémentaire..
} else { header('location:/404.html'); }
? Ne devrait-il pas juste être laissé seul sans rediriger si$aurl == $lurl
?OriginalL'auteur South Coast Web