Применяться не Женило Sensitive в Веб папки / каталоги

Он делает время я задал этот вопрос в сайте, на английском не получая ответа.

Случается, что я применяю правило RewriteRule [NC] в misitio.com для того, чтобы, независимо от написания, прописной буквы или строчной буквы, я воспринялся просьба в URI.

У меня есть следующая конфигурация в моем файле .htaccess

RewriteEngine On

RewriteCond %{SERVER_PORT} 80 [NC]

RewriteRule ^(.*)$ https://misitio.com/$1 [R,L,NC]

Функционируй для главного домена, но не для папок или каталогов (p. ej. misitio.com/contacto)

Согласно документации Апачи эта инструкция была бы должна функционировать глобальной формы. Это - то, что я попробовал:

RewriteMap lowercase int:tolower RewriteCond %{HTTP_HOST} [A-Z] 

RewriteRule (.*) http://${lowercase:%{HTTP_HOST}}$1 [R,L,NC]

Я увидел выбор применить это правило к каждому каталогу независимой формы, но страницы поверили динамической формы и контролировать их таким образом мне не кажется лучшим выбором.

Также я увидел этот ответ в SOen, но я не заканчиваю понимать ее совсем, чтобы применяться к моему сайту. Какая-то подсказка?

Большое спасибо.

6
задан 22.03.2019, 14:25
1 ответ

SegГєn выставленное в Htaccess to Редирект Упперкасе to Lowercase askapache , есть по крайней мере три способа вынуждать, что весь написанное в брусок браузера было превращено в minГєscula.

Совсем dependerГЎ, если ты имеешь accesso в файл configuraciГіn Апачи или не (обычно в hosting имеемый они ты не допускают к этому файлу).

, Если ты не имеешь доступа к файлу configuraciГіn

Прямо в файле .htaccess

В этом случае, ты можешь помещать эти правила, имея в виду, что это deberГ, - чтобы идти в верхней части твоего файла .htaccess. По крайней мере deberГ, - чтобы идти над любой другой RewriteRule. Это проистекает того, что он использует цикл, до тех пор, пока нет mГЎs символов в mayГєsculas, чтобы конвертировать, seguirГЎ начинаясь в первом правиле перенаписания HASCAPS: TRUE. Это действительно очень rГЎpido и не будет ничего не замедлять.

у Меня Есть это, осуществленное в моем сайте и функционируй без проблем. Хотя я не смог заставлять это функционировать в sub каталоги, sГ - функционируй в root моего сайта. Моя проблема была что crГ©e программа, чтобы сохранять количество визитов моего сайта из-за каждого унифицированного указателя ресурса используя API Google Analytics и не podГ, - чтобы приносить пользу фильтры из-за унифицированного указателя ресурса, когда пользователь escribГ - в используя какую-то mayГєscula... в настоящее время все то, что вводит сайт, прибывает в minГєscula.

RewriteEngine On
RewriteBase /

# Si hay mayúsculas, establezca HASCAPS en verdadero y omita la siguiente regla
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]

# Omita esta sección completa si no hay letras en mayúsculas en la URL solicitada
RewriteRule ![A-Z] - [S=28]

# Reemplace la ocurrencia individual de CAP con cap, luego procese la siguiente Regla.
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2

# Si hay letras en mayúsculas, reinicie en la primera RewriteRule en el archivo
RewriteRule [A-Z] - [N]

RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]

, Если ты имеешь доступ к файлу configuraciГіn

, ты Можешь делать это посредством любой из этих двух форм:

Используя RewriteMap в файле httpd.conf

Это состоит tГ©cnicamente форма mГЎs rГЎpida в том, чтобы делать это, но должен быть в файле httpd.conf, не в .htaccess:

RewriteEngine on
RewriteBase /
RewriteMap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/?(.*)$ /${lowercase:$1} [R=301,L]

Используя mod_speling

TambiГ©n ты можешь давать возможность mГіdulo индеец-апачи mod_speling, следующего способа:

<IfModule mod_speling.c>
    CheckCaseOnly On
    CheckSpelling On
</IfModule>

Других выбора

Ввиду того, что ты говоришь, что в твоем контексте каким-то образом создают каталоги свободно из-за пользователей , quizГЎ serГ - в рекомендуемый контролировать cГіdigo, что он создает эти каталоги, способствуя тому, чтобы контенты были созданы в уже закрепленных каталогах. Относительно унифицированных указателей ресурса, tambiГ©n podrГ-схвати контролировать для того, чтобы Г©stas были созданы всегда в minГєsculas, например, из-за promaciГіn PHP контролировать каждый раз, когда имена и расширение файлов конвертировались в minГєscula перед тем, как сохранять их на сервере.

7
ответ дан 02.12.2019, 06:03
  • 1
    Funcionó верно с Вашей первой opció n. Большое спасибо из-за Вашего такого полного ответа и Вашей конечной подсказки – Jheyman Mejia 26.03.2019, 15:06

Теги

Похожие вопросы