Доброго времени суток уважаемые профи сего раздела!
Ситуация:
Есть Apache 2.2 На Windows Server 2003
Есть 1C 8.2 с опубликованным вебклиентом через вышеуказанный апач.
в httpd.conf есть две строки, которые подключают "модуль 1С" и указывают на дефолтный путь к базе:
LoadModule _1cws_module "C:/Program Files/1cv82/8.2.19.68/bin/wsap22.dll"и
# 1c publication
Alias "/1C" "C:/1C/"
<Directory "C:/1C/">
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "C:/1C/default.vrd"
</Directory>При обращении к странице http://1.1.1.1:8888/1C/ru_RU/ браузером "подхватывается" CSS, что видно от сюда:
<head>
...
<link href="webclient.css?sysver=8.2.19.68" rel="stylesheet" type="text/css">
...
</head>
соответственно при запросе по адресу:
http://1.1.1.1:8888/1C/ru_RU/webclient.css появляется тот самый файл CSS.НО ТАКОГО ФАЙЛА НЕТ В ФАЙЛОВОЙ СИСТЕМЕ.
Я попробовал отследить куда обращается апач при запросе к этому файлу. FileMon показал:
httpd.exe:1176 DIRECTORY C:\1C\ru_RU\ NO SUCH FILE FileBothDirectoryInformation: webclient.css
httpd.exe:1176 OPEN C:\1C\ru_RU\webclient.css NOT FOUND Options: Open Access: 00100080
httpd.exe:1176 QUERY INFORMATION C:\1C\ru_RU\webclient.css NOT FOUND Attributes: ErrorПосле чего я предварительно скачав его "положил" в ту самую директорию и полный путь к файлу начал быть таков: C:\1C\ru_RU\webclient.css. Казалось-бы - Успех, но не тут-то было.
Конечно ту CSS, которую я положил в каталог, я немножко подправил для контроля (в комментах изменил 1 букву). При обращении к этому файлу "браузером" файл подгружается в "оригинальном варианте" а в логах FileMon стала появляться ошибка:
httpd.exe:1176 OPEN C:\1C\ru_RU\ SUCCESS Options: Open Directory Access: 00100001
httpd.exe:1176 DIRECTORY C:\1C\ru_RU\ SUCCESS FileBothDirectoryInformation: webclient.css
httpd.exe:1176 CLOSE C:\1C\ru_RU\ SUCCESS
httpd.exe:1176 OPEN C:\1C\ru_RU\webclient.css SUCCESS Options: Open Access: 00100080
httpd.exe:1176 QUERY INFORMATION C:\1C\ru_RU\webclient.css SUCCESS FileFsVolumeInformation
httpd.exe:1176 QUERY INFORMATION C:\1C\ru_RU\webclient.css BUFFER OVERFLOW FileAllInformation
httpd.exe:1176 CLOSE C:\1C\ru_RU\webclient.css SUCCESSВопрос: Могу ли я apache'у каким-либо образом явно указать что при обращении по адресу http://1.1.1.1:8888/1C/ru_RU/webclient.css он брал именно тот файл который мне нужно?
Заранее спасибо за ответ. с Уважением!
Посмотри RewriteRule
Где-то приблизительно надо сделать так, но могу ошибаться, тк под Windows apache не
использовалAlias "/1C" "C:/1C/"
<Directory "C:/1C/">
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "C:/1C/default.vrd"RewriteEngine On
RewriteRule ^/ru_RU/webclient.css$ /1C/ru_RU/mystyles.css</Directory>
>[оверквотинг удален]
> <Directory "C:/1C/">
> AllowOverride All
> Options None
> Order allow,deny
> Allow from all
> SetHandler 1c-application
> ManagedApplicationDescriptor "C:/1C/default.vrd"
> RewriteEngine On
> RewriteRule ^/ru_RU/webclient.css$ /1C/ru_RU/mystyles.css
> </Directory>Решилось всё использованием Redirect в .htaccess в каталоге сайта, спасибо! :)