2009-12-18 4 views
0

그래서 현재 파일 이름을 기반으로 블로그를 구성하고 있습니다. 게시물을 만들려면 파일 이름을 입력하십시오. 데이터베이스에 게시물을 저장하는 것과는 달리, 나는 PHP 파일에 저장한다. 그래서 내가 게시물을 작성할 때마다 테이블의 새로운 행이 파일 이름과 고유 ID로 작성됩니다. 게시물 (예 : 댓글)을 참조하려면 현재 파일의 이름을 얻은 다음 항목 테이블에서 일치하는 파일 이름을 검색하십시오. 댓글의 게시물 ID는 해당 게시물의 ID와 일치합니다.PHP 블로그 구성 방법

은 분명히이 블로그를 조직의 표준 방법이 아니다, 그러나 나는 몇 가지 이유를 위해이 방법을 수행

  • 청소 URL의 (심지어 청소기 mod_rewrite는 내가 읽은에서 제공 할 수있는 것보다)
  • 나는 항상
  • 쉽게는

지금 내가 알고있는 (깨끗한 URL의 일부의 종류) 특정 게시물의 URL을 기억하는 내 컴퓨터에서 게시물의 하드 카피를 표준 방법은 것 ~이다 데이터베이스의 각 게시물을 추적합니다. 어떻게하는지는 잘 압니다 만, 깨끗한 URL이 주된 문제입니다. 이제 내 질문에 :

  • 내가 지금하고있는 방식에 잘못된 것이 있습니까? 아니면 앞으로 문제가 발생할 수 있습니까?
  • 이제 mod_rewrite를 사용하여 동일한 수준의 깨끗한 URL을 얻을 수 있습니까? 그렇다면 링크가 인정됩니다.
  • 웹 호스트에서 호스팅 할 예정입니다. 특정 웹 호스트 만 mod_rewrite에 필요한 파일에 액세스 할 수 있습니까? 아니면 일반적으로 모든 웹 호스트에서 표준입니까?

고맙습니다.

P. 분명히하기 위해, 나는 계획 블로깅 엔진을 사용하고 있지 않습니다.

+2

또 다른 블로그 엔진입니다. 세상에 필요한 것. –

답변

2

cletus가 말했듯이 이것은 Movable Type과 유사합니다. 파일에 데이터를 저장하는 데 본질적으로 잘못된 점은 없습니다.

마음에 떠오르는 것은 파일에 얼마나 저장하고 있습니까? 게시물 내용 만, 아니면 각 PHP 파일에 기본 템플릿을 사용하는 대신 페이지의 전체 디자인 사본이 포함되어 있습니까? 나중에 디자인을 변경하는 것이 얼마나 어려울까요? 이것은 문제 일 수도 있고 아닐 수도 있습니다.

깨끗한 URL과 관련하여 정확히 무엇을 찾으십니까? 다시 쓰기 규칙은 매우 강력하고 유연합니다.mod_rewrite를 모든 요청에 ​​응답하는 주 PHP 파일과 함께 사용하면 모호한 ID 번호 나 심지어 파일 확장자가없는 사용자 친화적 인 URL을 포함하여 원하는 URL 형식을 가질 수 있습니다.

편집 :에

  1. 웹 서버가 모든 요청을 전달합니다 (예를 들어,/내 포스트 제목) : 여기

    은 mod_rewrite를하고 요청을 처리하는 주요 PHP 파일과 함께 일하는 것이 어떻게 index.php

  2. index.php는 요청 경로 ("my-post-title")를 구문 분석합니다.
  3. 데이터베이스의 "slug"또는 "friendly name"에서 "my-post-title" 그것을 부르고 싶다.) 열을 찾아 그 행을 찾는다.
  4. 이 본질적으로 클라이언트

에 포스트 데이터

  • 반환에 완성 된 페이지를 템플릿을 적용하여 데이터베이스
  • 에서 게시물을 검색하는 방법 드루팔 및 워드 프레스 작업 등의 시스템.

    또한 Movable Type의 작동 방식에 관해서는 제가 사용 했으므로 오랜 시간이 걸렸습니다. 그래서 틀렸을 수도 있지만 데이터베이스의 모든 게시물을 저장한다고 생각합니다. 게시 버튼을 누르면 데이터베이스에서 게시물 데이터를 가져 와서 템플릿에 삽입하여 일반 HTML 파일을 생성합니다. 방문자가 웹 사이트를 열 때 실행되는 스크립트가 없으며 서버가 정적 파일 만 제공 할 필요가있을 때 무거운 방문을 따라갈 수 있습니다.

    솔루션이 어떻게 작동하는지 알아 내면 분명히 많은 옵션이 있습니다. 제안한 파일은 괜찮은 것처럼 보이지만 특히 전체 사이트의 디자인을 나중에 변경하려는 경우 개별 파일에 많은 수의 게시물을 유지하는 방법을 신중하게 고려해야 할 수 있습니다. Smarty와 같은 템플릿 엔진을 고려하여 개별 파일에 게시물 데이터 (레이아웃 태그 없음)를 저장하는 것이 좋습니다. 또는 게시물 파일에 기본 include() 문을 사용하여 머리글, 바닥 글, 탐색 메뉴 등을 빨아 들일 수 있습니다.

  • +0

    이상적으로 URL은 www.DOMAINNAME/post-title-here와 같을 것입니다. 나는 ' 마음 파일 확장자는 있지만 분명히 적다. mod_rewrite를 사용하여 이것을 수행하는 방법이 있습니까? 그리고 대부분의 웹 호스트가 당신을 보냅니 까? 각 파일에 내용과 디자인을 저장할 계획입니다. 나는 데이터베이스에서 정보를 가져 오지 않고 다른 방법을 생각할 수 없다. ... – williamg

    +0

    3 개의 주요 웹 호스트에 대한 나의 경험으로, .htaccess 파일을 사용하여 모든 다시 쓰기 규칙을 지정하는 데 필요한 권한을 항상 가졌다. 나는 필요하다. 그러한 기본적인 요구 사항처럼 보입니다. 호스트가 허용하지 않으면 놀랄 것입니다. 물론 개별 웹 호스트에 따라 다르지만 지원 여부는 사용자에게 알려줍니다. 귀하의 다른 질문에 관해서는, 나는 그 답변에 내 게시물을 편집합니다 ... – Jeff

    1

    설명하는 내용은 Movable Type의 작동 방식과 비슷합니다. 다루어야 할 문제는 다음과 같습니다.

    • 신디케이션 : RSS/Atom;
    • 사이트 맵 : Google의 경우;
    • 코멘트; 및
    • 콘텐츠 태그 지정 및 필터링.

    데이터베이스를 사용하는 것이 부당하지 않습니다. 필자가 Smarty와 같은 템플릿 엔진을 사용한다면 PHP가 제공하는 것보다 더 나은 결과를 캐싱 할 수 있습니다.

    +0

    그래, 나는 RSS에 대해 아직 생각하지 않았다. 사이트 맵에 관해서는, 나는 보통 자동화 된 사이트 맵 생성기를 사용합니다. 이것이 문제가됩니까? 나는 주석을 달아서 알아 냈다. – williamg

    +0

    또한, "결과 캐싱"에 대해 자세히 설명 할 수 있습니까? (나는 초보자입니다 : P) – williamg

    관련 문제