2012-04-02 2 views
3

codeiginiter 프레임 워크에서 특정 페이지에 https (ssl)을 강제 적용하는 데 어려움을 겪고 있습니다. 나는 여러 가지 방법을 시도했지만 아무도 효과가 없었다. 나를 위해 일한 유일한 방법은 $ config [ 'base_url']https 대신 http 대신 시작하는 사이트 링크를 변경하는 것입니다. 그 결과 SSL (Secure Sockets Layer)을 모든 곳에서 사용할 필요가 없기 때문에 모든 링크가 SSL (전체 사이트)로 설정되었습니다. 로그인 페이지에서 일부 PHP 코드를 사용 했으므로 일부 문제가 발생하여 포기했습니다.codeigniter, 특정 페이지에서 ssl 강제 실행

이것이 좋은 방법인지, 알고 싶습니다. 어떤 생각입니까?

덕분에,

답변

4

당신은 선택의 URL 만 사용 SSL 포트 작동하도록 .htaccess에 조건을 추가해야합니다. 귀하의 base_url이 설정 파일에 “/”로 설정해야합니다 : 여기

RewriteEngine on 

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} controller/function 
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L] 

RewriteCond %{SERVER_PORT} 443 
RewriteCond %{REQUEST_URI} controller/function 
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L] 

RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 

P.S을 수행하는 방법, 예입니다. 자세한 내용 확인 http://codeigniter.com/wiki/SSL_Handling

+0

답장을 보내 주셔서 감사합니다. BTW,이 코드가 작동하는지 확인 하시겠습니까? 나는 그것을 시도하고 내 전체 사이트가 작동하지 않습니다. 브라우저가 내 사이트가 다운되거나 유지 보수 중임을 알리는 오류 메시지를 표시합니다. 어떤 생각입니까? –

+0

ok, 다시 시도 할 것입니다 –

+0

이제 문제가 없습니다. 다음은 https를 사용할 수 있습니까? –

관련 문제