문제

학습 운동으로 블로그 엔진을 만들고 있는데 한 가지 특별한 문제가 저를 괴롭 혔습니다. WordPress와 같은 블로그 엔진에서 블로그 게시물이 어떻게 만들어 졌는지 궁금합니다. 이 작업을 수행 할 수있는 두 가지 방법이 있다고 생각합니다.

1) 'TestPost'라는 새 블로그 게시물 작성 www.myblog.com/testpost.html이라는 새 HTML 페이지를 만듭니다. 따라서 각 새 블로그 게시물에 대해 새 HTML 페이지를 서버에 저장합니다. 이 방법은 비효율적으로 보입니다. 블로그에는 수백 개의 블로그 게시물이있을 수 있습니다. 즉, 수백 개의 HTML 페이지를 만들어야합니다. 이 방법을 사용하고 싶지 않다고 생각합니다.

2) 액세스하려는 게시물에 따라 데이터가 렌더링되는 일반 블로그 게시물 페이지가 있습니다. 예를 들어, 'TestPostone'을 만든 경우 일반 블로그 게시물 페이지가 TestPostone의 데이터 및 URL로 채워집니다. 'TestPostTwo'를 작성하면 일반 페이지가 TestPostTWO의 각 내용 등을 렌더링합니다.

그러나이 방법을 사용하면 고유 한 문제가 발생합니다. 예를 들어 실제로 존재하지 않는 페이지에 어떻게 링크 하시겠습니까? 링크 http://www.myblog.com/testpostone.html 작동하지 않을 것입니다.

이것들은이 문제를 해결하기 위해 내가 생각해 낼 수있는 두 가지 방법입니다. 다른 옵션이 있는지 확실하지 않습니다. 이 문제를 알고 있다면이 문제를 해결하는 더 나은 방법을 자유롭게 추천하십시오.

기본적으로 각 블로그 게시물에 대한 새 HTML 페이지를 작성하지 않고도 각 블로그 게시물에 대해 멋지게 포맷 된 URL을 가질 수 있기를 원합니다.

편집하다:이 프레임 워크를 통해 사용할 수있는 모든 메소드가 도움이 될 수 있도록 ASP.NET을 사용 하여이 작업을 수행한다고 덧붙일 수 있습니다.

도움이 되었습니까?

해결책

기본 아이디어는 데이터베이스를 사용하는 것입니다. 각 게시물은 DB의 항목이되며 URL에 따라 데이터를 검색합니다. 예를 들어,

www.myblog.com/posts.php?postid=1 또는 www.myblog.com/posts.aspx?postid=1

그런 다음 URL 재 작성 메소드를 사용하여 클리너 URL로 동일한 게시물을 검색하거나 동일한 작업을 수행 할 수있는 편안한 방법을 사용할 수 있습니다.

다른 팁

여기에 있습니다 오픈 소스 블로그 엔진 ASP.NET 2.0 및 1로 작성되었습니다 PHP로 작성되었습니다 (다른 사람들이 많이 있습니다). 가장 좋은 방법은 디자인과 아키텍처를 확인하고 그것이 어떻게 작동하는지 (또는 그와 비슷한) 작업을 해부하는 것입니다.

POST 컨텐츠에 대한 데이터베이스의 데이터를 읽는 PHP에서 동적 페이지를 만들어야합니다. 페이지와 함께 예쁜 URL을 원한다면 mod_rewrite URL을 다시 작성하려면

동적으로 페이지를 만들면 (제안 2에서와 같이) http://www.myblog.com/testpostone.html 디스크의 Actuall 파일이 아니더라도 액세스하려고 할 때 존재합니다 ...

따라서 제안 2는 아마도 가장 좋은 방법 일 것입니다.

개인적으로, 나는 Apache mod_rewrite를 사용합니다. 따라서 URL과 같은 URL이 있으면 다음과 같습니다.

http://myblog.com/archives/my_very_first_post,

다음과 같이 재 작성 규칙을 만들 수 있습니다.

RewriteEngine on
RewriteRule ^archives/(.*)$ myblog.php?post=$1

Apache는 "my_very_first_post"를 Post ID로 해석하고 ID를 처리하는 PHP 스크립트로 제공합니다. 그런 다음 스크립트는 데이터베이스에서 게시물을 가져와 표시합니다.

나는 이것이 가장 일반적인 접근법이라고 믿는다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top