редактировать: Этот вопрос в настоящее время спорный вопрос, поскольку весь сайт будет обслуживаться с помощью HTTPS.htaccess сила WWW и сила HTTPS для определенного пути и concrete5 симпатичных URL-
Мои .htaccess
вызывает цикл перенаправления.
Мне нужно, чтобы все три секции работали, цель каждого в комментарии.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
# Force HTTPS for /book unless dev or already there
RewriteCond %{HTTP_HOST} !^dev\.
RewriteCond %{HTTPS} !^on$
RewriteRule ^book https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Force www prefix unless dev or already there
RewriteCond %{HTTP_HOST} !^dev\.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ %{REQUEST_PROTOCOL}://www.%{HTTP_HOST}/$1 [L,R=301]
# Concrete5 pretty URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
мне приходится работать на реальном сервере, потому что сертификат действителен только там (с www.
требуется).
Я пробовал много вариантов выше, но я в тупике, поэтому надеюсь, что свежие глаза на это помогут, большое спасибо заранее.
Спасибо, но я все еще получаю цикл перенаправления. Можете ли вы сказать мне, что вы делаете по-другому (кроме бит 'REQUEST_PROTOCOL'), чтобы избежать цикла? – jezmck
Вы заметили использование условия 'RewriteCond% {HTTPS} s on (s) |', и это обратная ссылка '% 1'. Проверьте его на новый браузер, чтобы избежать кеширования 301. Также скажите, какой URL-адрес вы вводите в свой браузер. – anubhava
Спасибо. Теперь мой вопрос стал спорным, поскольку мы теперь меняем весь сайт на использование HTTPS. – jezmck