@wtfowned

Apache 403 при Alias из внешней папки, как исправить?

Подскажите с Apache.
Прописал AliasMatch
AliasMatch "^/wp-content/uploads/2019/../(..)(.*)$" "/mnt/hdd/dbimg/$1/$1$2"

при запросе картинки по адресу
/wp-content/uploads/2019/01/0003872d0a1895044c64db87582c6dcc.jpg

должна браться картинка отсюда
/mnt/hdd/dbimg/00/0003872d0a1895044c64db87582c6dcc.jpg


Вроде с регуляркой все правильно, пусть вас не путает 2019/01 (тут может быть любая цифра вместо 01), а папка с конечным файлом называется по первым 2м символам названия файла.

Выдает 403 ошибку.

Почитал здесь (https://stackoverflow.com/questions/11215283/alias... и здесь (https://httpd.apache.org/docs/2.4/upgrading.html) , добавил:
<Location "/mnt/hdd/dbimg/00">
    SetHandler dbimg
    Require all granted
  </Location>

Но все равно не работает, возможно здесь ошибка. Пробовал разные вариации...
<Directory "/mnt/hdd/dbimg/00">
		Require all granted
	</Directory>


На саму папку /dbimg и все что ниже стоят права для admin (пользователя directoryroot).
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ответы на вопрос 2
@wtfowned Автор вопроса
P.S.
Нашел здесь https://stackoverflow.com/a/13355590/2103823 ключевую фразу
The rule here is that Apache requires execute access to all folders in the path in order to serve files. Without this, you'll get a HTTP 403 (forbidden).


У меня на /mnt стояли права root, создал тестовую директорию /tmp2 и дал ей права admin, все заработало.

Есть ли другие способы, не меняя прав для /mnt (это директория куда маунтятся hdd) выполнить задачу?
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
<Location "/mnt/hdd/dbimg/00">...
Почитайте может о том что такое document_root и о относительных путях. Зачем вам всю свою файловую систему светить в интернет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы