Переписать к регистронезависимым URL на сайте CodeIgniter? - PullRequest
4 голосов
/ 08 октября 2011

Я использую CodeIgniter для веб-приложения, и теперь у меня есть срочный вопрос: я только что обнаружил, что URL-адреса чувствительны к регистру на серверах на базе Linux, и я только что переместил сайт с Windows на Linux.Это означает, что ссылки на сайт больше не работают там, где теперь есть все строчные URL-адреса, которых раньше не было.

Поиск в Google Я обнаружил, что вы должны быть в состоянии сделать что-то подобное в файле .htaccess.:

RewriteMap  lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

Но я попробовал это, и это было совсем не хорошо ...!Внезапно я увидел большую уродливую страницу с ошибкой, которая уставилась на меня, сказав, что с сервером Tomcat что-то не так или что-то в этом роде.Само собой разумеется, я немедленно удалил эти строки!

Но почему это не сработало тогда, и что я должен вместо этого сделать?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

7 голосов
/ 15 мая 2012

Воспламенитель кода поддерживает регулярные выражения - если вы хотите быть явным в определении ваших маршрутов, определите их таким образом, чтобы не учитывать регистр:

$route['(?i)(about\/contact)'] = 'about/contact';
0 голосов
/ 18 октября 2011

На самом деле выяснилось, что это было довольно легко, удивило, что никто не ответил на это (возможно, это не правильный путь, но я бы так подумал ...):

Я только что добавил несколько маршрутов в файл rout.php в папке config:

$ route ['About / Contact'] = "about / contact";

И так далее ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...