리다이렉션했는데 슬래쉬가 2개 붙는 경우? //

프로그래밍2018. 11. 7. 22:00

음.. 나는 일단 www.abc.com으로 접속하면 abc.com으로 http로 접속하면 https로 접속되게끔 httpd-prefix.conf를 수정한 상태인데 동작이 좀 이상하다. 위 사진처럼 끝에 슬래쉬가 2개 붙는 경우가 있다.


httpd-prefix.conf 

1
2
3
4
5
6
7
8
RewriteEngine On
#www > non-www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#http > https
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R=301,L]
cs


정확하게 테스트를 해보자


 입력된 주소

변경된 주소 

 abc.com

 https://abc.com

 www.abc.com

 https://abc.com//

 http://abc.com

 https://abc.com

 http://www.abc.com

 https://abc.com//

 https://abc.com

 https://abc.com 

 https://www.abc.com https://abc.com  


음.. http이면서 www가 붙는 경우에 생기는 문제 같다.


다행히 https://stackoverflow.com/questions/234723/generic-htaccess-redirect-www-to-non-www를 뒤져보면 답이 있다.

(double slash, double final slash)


1
2
3
4
5
6
7
8
RewriteEngine On
#www > non-www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^/(.*)$ https://%1/$1 [R=301,L]
#http > https
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R=301,L]
cs

위의 코드에서 5번째 줄에 빨간색으로 표시한 /와 s가 추가됐다. s는 없어도 되긴 하지만.. 과부하를 조금이라도 줄이기 위해 ㅎㅎ;;


sudo /opt/bitnami/ctlscript.sh restart apache


명령어로 서버 재시작 후에.. 시간이 좀 지나도(2~3분) 문제는 해결되지 않았다 ㅡ.ㅡ;;;


이 문제에 대해 잊어먹었다가. 며칠 지나서 확인하니 //가 끝에 붙는 문제가 해결된 것을 확인했다.

신기하게도 서버 재시작해도 바로 적용이 안되나보다. 같은 문제를 겪는 사람들은 위와 같이 코드를 고치고 조금 시간을 두고 확인해보자!




작성자

Posted by 드리머즈

관련 글

댓글 영역