www-ru-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [www-ru-list] gnu/linux-and-gnu (GNUNify, update, fix)


From: alexander barakin
Subject: Re: [www-ru-list] gnu/linux-and-gnu (GNUNify, update, fix)
Date: Thu, 6 Jan 2011 01:41:12 +0200

2011/1/6 Ineiev <address@hidden>:
> On 1/5/11, alexander barakin <address@hidden> wrote:
>> подкиньте им идею, если вдруг опять речь зайдёт.
>
> Постараюсь; только для этого самому нужно будет
> понять как минимум почему этого не сделано до сих пор.

на самом деле сделано. но или не доделано или как-то неправильно сделано.
по крайней мере модуль mod_negotiation в apache подгружен и опция
MultiViews, в него входящая, (видимо) глобально включена.
проверьте сами: уберите суффикс ".html" из любой ссылки.
насколько я могу судить, в случае наличия русского перевода
отображается именно он (у меня русский стоит в начале списка
предпочитаемых языков).
а вот если перевода нет, загружается содержимое (видимо) первого по
алфавиту файла (чаще это каталонский перевод). например, /doc/doc ->
/doc/doc.ca.html
не знаю уж, как им удалось довести apache до такого состояния.
моё же предложение убьёт по крайней мере четырёх зайцев:
1. нормально будет выдаваться языковой вариант при сокращённом
варианте обращения типа /doc/doc
2. нормально будет выдаваться языковой вариант для старых ссылок типа
/doc/doc.html
3. конкретный языковой вариант точно так же как и сейчас будет
доступен при явном указании: /doc/doc.ru.html
4. не надо будет переименовывать текущие файлы с английским вариантом.
по крайней мере — сразу не надо. постепенно, конечно, лучше порядок с
именами всё-таки навести.

видимый минус моего предложения: таки придётся написать
bash-однострочник, который сделает описанные мною симлинки для файлов,
не содержащих языкового суффикса в названии.
типа такого:
$ find /var/www/ -type f -name \*.html -not -name \*.\?\?.html | while read f; \
do (cd $(dirname "$f"); b=$(basename "$f"); l=$(echo $b | sed
's/html$/en.html/'); \
ln -s "$b" "$l"); done

ну и, конечно, придётся десять раз всё перепроверить, прежде чем
вносить изменения в работающую систему.

-- 
wbr, alexander barakin aka sash-kan.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]