Synology с установленной Photo Station 6 не работает virtual host subdomain

Решил скоротать вечер и обновить свою старую Photo Station на Photo Station 6. После установки Photo Station 6 на Synology столкнулся с проблемой не работающих должным образом virtual hosts на порту 80. При попытке зайти на  virtual host sub.example.com происходит redirect на http://example.com/photo. В качестве решения данной проблемы можно отключить  в брандмауэре synology порт 80 для  Photo Station

dsm synology

и создать правило вручную открывающее 80 порт

dsm synology port 80

Проверим работу поддоменов. При попытке открыть любое доменное имя в обозревателе мы автоматически редиректимся на страницу управления Disk Station http://example.com:5000/webman/index.cgi

DiskStation

Чтобы отключить это перенаправление создадим в корне папки web на Disk Station файл .htaccess (не забудьте про точку вначале) со следующим содержимым:

RewriteEngine On

# first and default domainname

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http:/example.com/photo$1 [R,L]

# second domainname

RewriteCond %{HTTP_HOST} ^sub.example.com$ [NC]
RewriteRule ^(.*)$ https://sub.example.com$1 [R,L]

# add more lines for aech domainname

Для создания файла можно воспользоваться File Station. Для начала создадим этот файл в любом текстовом редакторе, я предпочитаю использовать Notepad++.

htaccess

Не забудьте изменить host и virtual domain на свои. Сохраняем его с названием htaccess. Точку в начале файла windows вам поставить не даст. Ничего страшного мы его переименуем непосредственно на Disk Station. Откроем File Station и загрузим его на сервер:

web htaccess

теперь переименуем его в нужно нам название:

 

Теперь проверим работу наших доменов и subdomains. Все должно открываться ровно так как вы описали в .htaccess

Данная проблема возникает в связи с тем, что поддомены photo, blog  считаются зарезервированными для пакета Photo Station, и как только вы включаете предопределенное правило брандмауэра для Photo Station на port 80 Synology автоматически начинает перенаправлять весь траффик. Если взглянуть а конфигурационный файл веб-сервера (Apache) то мы можем увидеть вот такой кусок:

AliasMatch ^/photo$ «/var/packages/PhotoStation/target/photo/»
        Alias /photo/ «/var/packages/PhotoStation/target/photo/»
        AliasMatch ^/blog$ «/var/packages/PhotoStation/target/photo/blog/»
        Alias /blog/ «/var/packages/PhotoStation/target/photo/blog/»
        RedirectMatch ^/blog/include/v(.*) /photo/get_video.php?$1
        AliasMatch ^/~([^\/]*)/photo$ «/var/packages/PhotoStation/target/photo/»
        AliasMatch ^/~([^\/]*)/photo/(.*) «/var/packages/PhotoStation/target/ph»
        AliasMatch ^/~([^\/]*)/blog$ «/var/packages/PhotoStation/target/photo/b»
        AliasMatch ^/~([^\/]*)/blog/(.*) «/var/packages/PhotoStation/target/pho»
        RedirectMatch ^/~([^\/]*)/blog/include/v(.*) /~$1/photo/get_video.php?$2

где четко видны alias и Redirect на blog и photo.

Надеюсь эта информация будет вам полезна 🙂

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *