Назад | Перейти на главную страницу

Перенос веб-сайтов с Windows на Linux

Мне нужно переместить десятки статических веб-сайтов (простой HTML) из Windows / IIS в Linux / Apache. Как вы, возможно, знаете, Linux чувствителен к регистру, и я почти уверен, что в одном случае могут быть сотни html-файлов со ссылками на файлы, а в другом - указанный файл :(

Есть ли инструмент, который проверит / исправит это (исправив ссылку или переименовав файлы в файловой системе)?

Спасибо! JFA

Переименовать файл в нижний регистр недостаточно, потому что входящие ссылки или закладки с верхним регистром будут получать ошибку «404 - файл не найден». Переименуйте файлы, затем используйте mod_rewrite, чтобы уменьшить URL-адреса:

http://www.chrisabernethy.com/force-lower-case-urls-with-mod_rewrite/

Вы можете захотеть исследовать, просто включив mod_speling. Он может решить большинство проблем за вас. Если для вас не так важен правильный регистр, вы можете просто включить его и двигаться дальше.

Вы можете обслуживать свои веб-сайты из раздела, смонтированного в Linux, с нечувствительностью к регистру для перевода имен файлов.

Если вы используете файловую систему vfat (fat32) в Linux, вы можете смонтировать ее следующим образом

$ mount -t vfat /dev/XXX /var/windows/websites

Любое имя файла внутри / var / windows / sites будет обрабатываться так же, как и Windows.

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

Я бы сделал с zsh следующее, хотя, вероятно, не самый быстрый вариант:

for file in **/*.html; do 
    if [[ "$file" != "${(L)file}" ]]; then
        mv "$file" "${(L)file}"; 
    fi
done

Насколько мне известно, инструмента, специально предназначенного для этого, не существует, однако, если вы хотите немного углубиться в Linux, я бы предложил создать скрипт с использованием awk, sed и возможно grep для поиска и замены всех неправильных записей. Однако этот метод может занять некоторое время, особенно если у вас нет большого опыта работы с командной строкой или сценариями оболочки.

В качестве альтернативы я считаю, что такие IDE, как Dreamweaver и другие, могут переименовывать файл и обновлять все ссылки, так что вы можете изучить это. Это означает, что вам придется делать это для каждого файла, но это все равно может быть быстрее, чем пытаться написать сценарий, который бы перехватил все возможные случаи. Аптана это еще одна IDE, которая может это сделать, хотя я не использовал ее для указанной цели.