Проблемы HTML с учетом регистра
-
23-08-2019 - |
Вопрос
У нас есть сайт, который всегда был развернут на сервере Windows без проблем с чувствительностью к регистру.Однако теперь нам нужно выполнить развертывание в Linux, и мы знаем, что на сайте много URL-адресов и ссылок с неверным регистром.
Есть ли какие-нибудь приложения, которые могли бы сканировать сайт и исправлять проблемы с регистром?Для этого потребуется исправить файлы HTML, CSS и, если возможно, файлы Javascript.
Я подумывал о написании приложения, которое для каждого файла на сайте просматривает все остальные файлы, чтобы узнать, ссылаются ли они на него, а затем исправляет все ошибки регистра, но подумал, что, возможно, это уже сделано, и я могу просто загрузить готовый файл. решение.
Спасибо, Гэвин
Решение
Какую среду разработки вы используете?
Например, в Dreamweaver вы можете проверять и исправлять ссылки по всему сайту.
Редактировать: Чтобы ответить на ваш вопрос:Вы можете скачать пробную версию Dreamweaver, разместить на своем веб-сайте как проект и использовать средство проверки ссылок для проверки и исправления ссылок.
Как сказано в комментариях, я бы определенно исправил проблему, а не пытался обойти ее, используя решение «игнорировать регистр».Таким образом, ваш веб-сайт будет портативным, и вы избежите проблем в будущем.Хорошее соглашение об именах файлов всегда полезно (без заглавных букв, пробелов, экзотических символов и т. д.).
Другие советы
Это Апач?Вы можете использовать mod_speling, чтобы ваш сервер игнорировал регистр.
В зависимости от вашей свободы действий и сроков вы можете решить эту проблему, тщательно отслеживая журналы веб-сервера на наличие ошибок 404 при посещении сайта.Это потребует наименьшего количества изменений в кодовой базе.
В качестве альтернативы вы можете потребовать, чтобы все файлы были в нижнем регистре, а затем запустить проверку базы кода в поисках символов верхнего регистра в URL-адресах.
В любом случае вам придется проделать некоторую ручную работу, чтобы устранить все недостатки.
Вот очень быстрый и простой способ сделать это;загрузите сайт в целевую среду, затем укажите Сыщик-связь Ксену (бесплатная загрузка) в корне и дайте ему волю.Он сообщит обо всех сгенерированных ошибках 404, после чего вы сможете просто просмотреть и устранить каждую из них.Легкий.
Лучший способ — исправить ваши URL-адреса. Альтернативно вы можете добавить следующие правила перезаписи в свой .htaccess.
RewriteEngine on
RewriteRule ^[A-Z]+.*\.html$ lowercase.php [L]
и в нижнем регистре.php (измените в соответствии с вашей технологией)
<?php
// convert uri to lowercase
$uri = $_SERVER['REQUEST_URI'];
$uri_lc = strtolower($uri);
// redirect (permanent)
header("Location: http://".$_SERVER['HTTP_HOST'].$uri_lc,TRUE,301);
?>
Убедитесь, что все имена файлов написаны строчными буквами.
Я использовал функцию поиска и замены ActiveState Komodo Edit в режиме регулярных выражений, чтобы сделать что-то подобное.
Один из способов — разместить все файлы на Linux-сервере, возможно, под тестовой конфигурацией/URL-адресом, а затем запустить LinkChecker по корневому URL-адресу (или любым другим подходящим URL-адресам):
http://linkchecker.sourceforge.net/
и посмотрите, сообщает ли он о неработающих ссылках.