2012-07-24 4 views
0

У меня есть следующий htaccess, попробовал добавить https rewrite/redirect - и это не работает, не знаю, что я делаю неправильно?https rewrite не работает

RewriteEngine on 
RewriteRule \.svn/ - [F] 

# rewrite traffic to HTTPS 
RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 
+0

Что он делает вместо работы? Помимо дополнительного 'RewriteEngine On', ваше правило выглядит правильно. –

+0

ну, он ничего не делает ... если я положу правило https после физического поиска файлов, чем просто получить внутреннюю ошибку сервера ... –

ответ

0

Вы имели в виду пропустить [L] после вашего https rewriterule? Без него, если я попрошу «http://myserver.com/something», он сначала перепишет как «https://myserver.com/something», но затем (я считаю) продолжу в файле .htaccess, впоследствии используя внутреннее переписывание для обслуживания «index.php» без фактического перенаправления клиента. Хотя если запрошенный файл существует, я не уверен, как Apache справится с этим.