2012-07-23 4 views
1

나는 실제 웹 사이트에 대한 색 구성표를 선택할 수있는 스플래시 화면으로 방문자를 맞이할 웹 사이트를 설정하고 있습니다. 선택에 따라 실제 웹 사이트는 다른 스타일 시트를로드합니다. URL에 플래그를 연결 한 다음로드 된 스타일 시트를 결정하기 위해 다음 페이지에서 플래그가 지정된 URL을 읽음으로써이를 수행 할 수 있습니다 (예 : 어두운 테마를로드하려면 URL은 http://www.mywebsite.com/index-dark이 될 것입니다). 링크를 사용하면 URL이 http://www.mywebsite.com/index-light이됩니다. 문제는 URL에 플래그를 추가하는 방법이나 다른 페이지에서이 플래그를 읽는 방법을 모르겠다는 것입니다. 문제를 찾아 보았지만 실제적인 정보는 거의 발견되지 않았습니다. 어떻게 할 수 있습니까?URL에 플래그를 추가하려면 어떻게해야합니까?

EDIT : 여러 개의 테마가 있으므로 두 개의 개별 페이지를 사용하지 않는 것이 좋습니다. 즉, 루트의 모든 HTML 페이지를 기본적으로 여러 번 복사하여 공간을 차지합니다. 그래도 은폐 된 아이디어 인 $_GET과 같습니다.

+0

이렇게하는 방법은 여러 가지가 있습니다. –

+2

@ IgnacioVazquez-Abrams 당신이 그들이 무엇인지 알지 못한다면 그것은별로 도움이되지 않습니다. –

+0

@ IgnacioVazquez-Abrams : 세션, 쿠키, URL : 익명 사용자에 대해 생각할 수있는 것 - "몇 가지"에 해당하는 것을 기억하고 있습니까? –

답변

0

언급하신 "플래그"는 mod_rewrite을 사용하여 위장한 변수 인 실제로 $_GET입니다. 당신이 할 수있는 일은 .htaccess 파일을 수정하여 예를 들어 www.mywebsite.com/index.php?style=index-darkwww.mywebsite.com/index-dark으로 변경하는 재 작성 규칙을 추가하는 것입니다 (불행히도 이것을 정확하게 수행하는 방법에 대한 경험이 없으며 단지 완료 될 수 있음을 알고 있습니다). 그리고 PHP catch $_GET['style'].

1

자세한 정보가 없으면 몇 가지 일반적인 조언 만 드릴 수 있습니다.

그래서 저는 PHP로 페이지를 작성한다고 가정 할 것입니다. 따라서 두 개의 서로 다른 URL을 가지고 mod_rewrite를 사용하여 /index-dark/index?style=dark으로 변환 할 수 있습니다. 그러나 그건 엉터리입니다.

쿠키 또는 세션을 사용하는 것이 좋습니다. 기본적으로 cookie 또는 session value을 테마 설정으로 확인한 다음 페이지를 생성 할 때 적절한 CSS 파일을 선택합니다.

가 가
    는 URL 재 작성, (당신이 쿠키를 사용하는 경우)
  • 영구 설정을 할 수 있습니다 시대의 최고의에서 오류가 발생하기 쉬운 노력을 사용하여 필요로하지 않습니다하지 않습니다
  • :

    이 몇 가지 장점이 있습니다 복잡한 URL이 필요합니다.

  • 코드 산을 변경하지 않고 더 많은 테마를 추가 할 수 있습니다. 테마 선택기와 새 CSS 파일에 설정을 추가하기 만하면됩니다.

GET 변수는 일반적으로 요청과 함께 전송되는 특정 데이터에만 유용합니다. POST 변수와 같은 비트는 주로 양식 및 제출 된 데이터에 사용됩니다. 영구 설정을 원한다면 세션/쿠키가 가장 좋습니다.

관련 문제