Перенаправить и удалить папку в URL .htaccess - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь перенаправить с http://example.org/family/ на http://example.org/family/public, не отображая в URL общедоступную папку, поэтому я хочу, чтобы после перенаправления URL оставался прежним.

Я читал много разных решений, но не получил желаемого результата.В настоящее время у меня есть .htaccess в папке 'family', но он перенаправляет в общую папку и показывает ошибку 404:

 <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /family
RewriteCond %{REQUEST_URI} !^/public
RewriteRule (.*) public/$1 [L]
</IfModule>

Он должен показывать содержимое в index.php, но это не так..Htaccess внутри общей папки:

<IfModule mod_rewrite.c>    
    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    RewriteRule ^/public/(.*) /$1 [QSA]

</IfModule>

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Не знаю, является ли это лучшим решением, но вы можете попробовать ProxyPass:

, если вы используете Apache, отредактируйте httpd.conf, добавьте эту строку

ProxyPass /family http://example.org/family2/public Также,убедитесь, что следующие строки не закомментированы, поэтому вы получите правильный прокси и субмодуль для перенаправления http-запросов:

LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_module modules/mod_proxy.so

Затем перезапустите сервер, все, что находится внутри каталога family2/publicэто должно показать family

0 голосов
/ 30 сентября 2018

Это будет ваше решение, оно перенаправит все запросы в общую подпапку

RewriteEngine On
RewriteBase /family
RewriteCond %{REQUEST_URI} !^/family/public
RewriteRule (.*) family/$1 [L]
...