Заставьте .htaccess работать в целевой папке символических ссылок - PullRequest
0 голосов
/ 10 февраля 2020

Я использую символическую ссылку в public_hmtl для доступа к сценариям в папке в другом месте на сервере, но в папке есть файл .htaccess, который запрещает доступ, и сценарии не будут работать, если я просто удалю / отключу его.

Символическая ссылка здесь:

/ home / username / public_html / symlink

Папка назначения скрипта находится здесь:

/ home / target

Есть ли способ заставить этот файл .htaccess работать в целевой папке symlink? Или я должен переместить его куда-нибудь еще?

Я пытался добавить это в файл .htaccess:

Options +FollowSymLinks

Но это ничего не сделало. Очевидно, я также должен поместить это куда-то (?) В Apache конфигурации:

    # enable allowoverride privileges
    <Directory /home/target>
        AllowOverride Options
    </Directory>

Но мой VPS настроен с EasyApache4, поэтому я не должен вручную редактировать файлы виртуального хоста и методы, чтобы включить эти линия через WHM вызвала ошибки.

Должен ли я продолжать попытки FollowSymLinks / AllowOverride? Или это тупик в любом случае? Есть ли другие решения?

Извинения за мое невежество. .htaccess выводит меня из себя. Я понятия не имею, что происходит с этими файлами.

Редактировать:

Файл .htaccess имеет следующие строки:

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

RewriteRule ^resetPassword$ /index.php?resetPassword=true
RewriteRule ^resetPassword/([^/\.]+)/?$ /index.php?resetPassword=true&hash=$1

RewriteRule ^install$ /index.php?install=true
RewriteRule ^install/([^/\.]+)/?$ /index.php?install=true

RewriteRule ^update /index.php?update=true
RewriteRule ^update/([^/\.]+)/?$ /index.php?update=true

RewriteRule ^/?$ /index.php?act=dashboard.show
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?act=$1.$2 [QSA]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?act=$1.$2&id=$3 [QSA]
...