0

Я пытаюсь прочитать многие ответы на htaccess, но я не мог найти выход. Изображение этой архитектуры в веб-хостинге: root/public_html/вложенная папка Теперь со следующим кодом в файле htaccess (помещенным в public_html) я могу управлять этим, когда домен является типом в браузере, посетитель приземляется в подпапке без цифры example.com/subfolder, example.com достаточно. Оно работает. Теперь я хочу, чтобы посетитель перенаправлялся не в подпапку, а в «лишнюю папку», размещенную внутри корня (уровень корня, который находится на том же уровне, на котором размещена папка public_html, но не внутри public_html). Так как изменить этот код:Перезапись от public_html до корня

# .htaccess main domain to subdirectory redirect 
# Do not change this line. 
RewriteEngine on 
# Change example.com to be your main domain. 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
# Change 'subdirectory' to be the directory you will use for your main domain. 
RewriteCond %{REQUEST_URI} !^/subfolder/ 
# Don't change the following two lines. 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Change 'subdirectory' to be the directory you will use for your main domain. 
RewriteRule ^(.*)$ /subfolder/$1 
# Change example.com to be your main domain again. 
# Change 'subdirectory' to be the directory you will use for your main domain 
# followed by/then the main file for your site, index.php, index.html, etc. 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule ^(/)?$ /subfolder/index.html [L] 

Я попробуйте изменить/вложенную папку/с ../extrafolder/ (предполагая, что двойная точка будет толкать вверх на один уровень), но не работает. Любая идея?

+0

Эта игра должна состоять из 2 частей, вы просто ставите ее вторую конфигурацию .htaccess, но первая часть - это виртуальный хост сайта apache, вы можете найти ее в/etc/apache2/sites-enabled/если вы используете систему на базе Linux. Если вам нужен четкий ответ, который может вам помочь, вам нужно также установить конфигурацию apache. –

+0

Спасибо, что ответили мне. Я проверяю, но у меня нет этого файла/папки и т. Д. В конечном итоге я могу создать обработчик Apache. Любая другая идея? –

+0

ОК, я поставил это в ответ. –

ответ

0

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

В случае, если у вас есть доступ к изменению вашего Apache конфигурации

Вам необходимо иметь следующие шаги, чтобы полностью контролировать корень вашего сайта.

1- Юр апач конфигурации виртуального хоста (это должно быть в /etc/apache2/sites-enabled/example.conf) должно быть что-то вроде следующего:

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias www.example.com 
    DocumentRoot /var/www/test 
    <Directory /var/www/test/> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order deny,allow 
     Allow from all 
    </Directory> 
</VirtualHost> 

3- Вы должны добавить этот Алиас/externalfolder/"/ Var/WWW/тест/externalfolder /" конфигурации виртуального хоста выше

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias www.example.com 
    DocumentRoot /var/www/test/public_html 
    Alias /externalfolder/ "/var/www/test/externalfolder/" 
    <Directory /var/www/test/public_html> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order deny,allow 
     Allow from all 
    </Directory> 
</VirtualHost> 

Теперь вы можете получить доступ, что через http://example.com/externalfolder/file.php

+0

Спасибо, я узнал, что у меня нет доступа к конфигурации виртуального хоста apache, поэтому единственное, что я могу сделать, это полностью отменить весь хостинг: переместите папку из корня в общедоступную папку и общедоступную в корневую папку, чтобы я чтобы посетители попали в папку, которую я хочу ... Я не мог думать о чем-то лучше. Любая идея в последнюю минуту ценится в любом случае. –

+0

Нет, извините, я попытался найти вам способ создать псевдоним каталога в чем-то вроде cPanel, но я не смог найти. –

Смежные вопросы