domain.com/@아이디 이렇게 접속이 되게 하려면
본문
domain.com/@아이디 이런식으로,
'@' 아니더라도 심플('?mb_id=아이디' 이런 것처럼 ?나 = 사용안하고요.)하게 계정아이디로 마이페이지 같은 페이지를 만들어서 접속할 수 있는 방법이 있을까요?
게시판을 회원마다 만들어 줄 수는 없고,
게시판 하나에서 특정회원이 작성한 글을 볼 수 있게
url 을 단축주소처럼 사용할 수 있는 방법이 있는지 궁금합니다.
답변 3
재작성 스킬을 활용하시면 도메인 뒤에 ‘@아이디’와 같은 형태로 접속하게 하실 수 있습니다.
예로, Apache 서버를 사용한신다면 .htaccess 파일에 mod_rewrite를 이용해
다음과 같이 설정하실 수 있습니다.
RewriteEngine On
RewriteRule ^@([a-zA-Z0-9_-]+)/?$ /profile.php?username=$1 [L,QSA]
이 규칙은 도메인 뒤에 ‘@아이디’ 형식으로 요청이 들어오면
내부적으로 profile.php 파일에 해당 아이디를 파라미터로 전달하여 처리하도록 합니다.
Nginx 서버의 경우에도 비슷한 방식의 rewrite rule을 설정할 수 있습니다.
즉, 회원마다 별도의 게시판을 만드는 대신, 단일 게시판 내에서
특정 회원의 글만 필터링해서 보여주는 기능을 구현할 수 있으며,
이를 위해 URL rewriting을 통한 “심플 URL”을 사용하시면 됩니다.
이는 많은 웹 프레임워크에서 기본적으로 지원하는 기능이니,
개발 환경에 맞춰 적절한 방법을 선택하시면 되지않나 싶습니다.
유지보수/확장성을 고려해,
MVC 패턴을 채택한 프레임워크를 활용하실 것을 추천드립니다.
domain.com/게시판아이디?sfl=mb_id&stx=회원아이디
이렇게 하면 해당 게시판의 작성자 아이디로 검색해서 보여줍니다.
안녕하세요...
@모몽 님
먼저 .htaccess 파일에 보면
#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
이부분이 있을꺼에요
이 구문 바로 밑에 써주셔야 합니다. 맨 먼저 실행할 수 있도록
RewriteRule ^ - [L] 바로 밑에
RewriteRule ^@([0-9a-zA-Z_-]+)/?$ member_profile.php?mb_id=$1 [L,QSA]
추가 해주세요 잘 모르겠다? 하시면 스샷 참고하세요
그리고 나서 테스트 해보시면 잘 되실껍니다.
아래는 실제 구동 영상입니다.
!-->