Мод Rewrite - .htaccess

Я недавно перешел на https с http, и у меня есть цепочка перенаправления, которая появляется в сафари, замедляя время загрузки моего сайта.

Я провел несколько дней с bluehost, и, похоже, никто не знает / не хочет помочь переписать файл .htaccess, это также, возможно, не их работа, так что достаточно честно. Я сам провел несколько часов, и теперь у меня есть приблизительное понимание, но все же мне нужна небольшая помощь.

Мой предпочтительный домен - https://jambarteambuilding.com

цепочка переадресации в сафари http://www.jambarteambuilding.com затем к https://www.jambarteambuilding.com затем к https://jambarteambuilding.com

Я стремлюсь к

 http://www.jambarteambuilding.com
 http://jambarteambuilding.com
https://www.jambarteambuilding.com

все перенаправить на

https://jambarteambuilding.com

также.

Мой веб-сайт и установка WordPress находятся в подкаталоге под названием «clean». Итак, public_html / clean, где вы найдете wp-admin, wp-content, wp-includes.

мой файл .htaccess написан так, что если вы наберете jambarteambuilding.com, веб-сайт загрузится из чистого, но вы не увидите jambarteambuilding.com/clean только в URL-адресе jambarteambuilding.com (что я предпочитаю).

Так

Это мой текущий файл .htaccess.

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?jambarteambuilding.com$ 
RewriteCond %{REQUEST_URI} !^/clean/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /clean/$1 
RewriteCond %{HTTP_HOST} ^(www.)?jambarteambuilding.com$ 
RewriteRule ^(/)?$ clean/index.php [L]

Я считаю, что мне нужно написать оператор [OR] после строки 2, чтобы захватить https://www.jambarteambuilding.com в условиях. [NC] отсутствует в строках 2 и 7 R = 301, похоже, отсутствует в строках 6 и 8 строки 2 и 7 кажутся дублированными. jambarteambuilding.com должен быть jambarteambuilding.com Я предполагаю, что (www.)? означает "с www или без"

Может ли кто-нибудь легко помочь мне переписать это!

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
0
0
59
2

Ответы 2

От этот вопрос. Что-то вроде этого должно работать ...

RewriteCond %{HTTPS} off 
RewriteCond %{HTTPS_HOST} !^jambarteambuilding.com$ [NC]
RewriteRule ^(.*)$ https://jambarteambuilding.com/$1 [L,R=301]

Или, если вы можете изменить файл Apache VirtualHost, это будет лучше ...

<VirtualHost *:80>
    ServerName jambarteambuilding.com
    ServerAlias www.jambarteambuilding.com
    Redirect / https://jambarteambuilding.com/
</VirtualHost>
<VirtualHost *:443>
    ServerName jambarteambuilding.com
    ServerAlias www.jambarteambuilding.com
    # ... SSL configuration goes here
</VirtualHost>

Спасибо за ответ. Мне придется искать виртуальный хост apache, это не то, на что я смотрел раньше. Для второй перезаписи, будут ли эти 3 строки в дополнение к другим 8?

Jimmymacip 24.07.2018 12:12

Я бы посоветовал попробовать поставить 3 новые строки в начале после RewriteEngine on, а затем удалить все имеющиеся у вас строки, в которых упоминается %{HTTP_HOST}. Метод VirtualHost не является обязательным, но для всех, кто занимается администрированием Apache, это рекомендуемый способ. Не волнуйтесь, если у вас нет доступа по SSH.

sdexp 24.07.2018 12:58

хорошо спасибо. Я добавил резюме к вашему исходному сообщению. Выглядит правильно?

Jimmymacip 24.07.2018 13:10

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

sdexp 24.07.2018 15:22

Это решило это!

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTPS_HOST} !^jambarteambuilding.com$ [NC]
RewriteRule ^(.*)$ https://jambarteambuilding.com/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !^/clean/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /clean/$1
RewriteRule ^(/)?$ clean/index.php [L]

Спасибо всем!

Другие вопросы по теме