,htaccess - перенаправить в подпапку с HTTPS, скрывая часть URL - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь перенаправить весь веб-сайт на https: //, скрывая часть URL.

Мой корень выглядит примерно так:

/mywebsite
    /subfolder_1
    /subfolder_2
    /subfolder_3
    ............

Пока мне удалосьскрыть часть URL, а также расширения файлов:

Options +MultiViews
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 

RewriteCond %{HTTP_HOST} ^mywebsite\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^mywebsite\.com$
RewriteCond %{REQUEST_URI} !subfolder_1/*
RewriteRule (.*) /subfolder_1/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Однако у меня возникают проблемы с перенаправлением на HTTPS при сохранении части URL скрытой.

Я пытался

RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R,L]

но, похоже, если я воспользуюсь этим, все остальные изменения не будут применены, делая весь URL видимым (mywebsite.com/subfolder_1/index.php вместо mywebsite.com/index.php).

Есть идеи?Я уже некоторое время пытаюсь, и кажется, что не могу найти правильного решения.

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете использовать эти правила:

Options +MultiViews
RewriteEngine On

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{REQUEST_URI} !/subfolder_1/ [NC]
RewriteRule .* /subfolder_1/$0 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...