Это зависит от нескольких вещей в Вашем веб-приложении, но Вы могли:
В .htaccess:
RewriteEngine on
RewriteBase /
RewriteMap insensitive tolower:
RewriteRule ^[\/]*(.*)$ /${insensitive:$1} [R,L]
Можно использовать статус выхода diff
и head
в обрабатывают замену:
[kbrandt@localhost ~]$ echo arf > foo
[kbrandt@localhost ~]$ echo arf > foo1
[kbrandt@localhost ~]$ diff <(head -n1 foo) <(head -n1 foo1)
[kbrandt@localhost ~]$ echo $?
0
[kbrandt@localhost ~]$ echo foo > foo1
[kbrandt@localhost ~]$ diff <(head -n1 foo) <(head -n1 foo1)
1c1
< arf
---
> foo
[kbrandt@localhost ~]$ echo $?
1
[kbrandt@localhost ~]$
Разность сравнивает файлы, если статус выхода является нулем, чем соответствие файлов. Ненулевой означает, что они не соответствовали или была ошибка рабочая разность, которая кажется маловероятной. $?
переменная оболочки, которая имеет статус выхода предыдущей команды. Можно перенаправить вывод разности путем добавления > /dev/null
в конец различной команды, если Вы не хотите видеть его на экране:
[kbrandt@localhost ~]$ diff <(head -n1 foo) <(head -n1 foo1) > /dev/null
[kbrandt@localhost ~]$ echo $?
1
Вот способ сделать это в Bash, не используя три вызова для внешних утилит. Это также работает в оболочках POSIX, которые не имеют замены процесса:
read a<file1; read b<file2; [ "$a" = "$b" ]; echo $?
Вот другой способ использовать AWK:
awk 'FNR==1{a[NR]=$0; if (NR==2) exit a[1]!=a[2]; nextfile}' file1 file2
Обратите внимание, что сравнения AWK возвращаются 1 для истинного, таким образом, я использую !=
таким образом, оболочка получает 0, которому она верит, верно.