2010-08-14 2 views
0

CMS를 원격 설치한다고 말합니다. 각 사용자는 domain.com/username/index.php에서 자신의 페이지를 가져옵니다. 지금은 새 계정을 가지고있는 위치에서 폴더를 만들고 다음과 같은 색인 파일을 만들 것을 고려하고 있습니다.어떻게 URL 경로를 스크립트의 입력으로 사용할 수 있습니까?

<?php 
$username=blahblah; 
require("../indextemplate.php"); 
?> 

어느 것이 좋습니다. 누구나 자신 만의 맞춤 페이지 등을 얻을 수 있습니다. 나에게 어리석은 것처럼 보이는 것은 모든 고유 사용자에 대해 동일한 폴더와 파일을 만들어야한다는 것입니다. 대신 domain.com/username을 사용하여 사람들을 잡을 수있는 방법이 있습니까? 그리고 직접 indextemplate.php로 보내주십시오.

입력 할 때 '아파치가 $ _SERVER [ "REQUEST_URI"] (아파치 리다이렉트가 엉망이 될지 확실하지 않음)과 함께 아파치가 리디렉션하는'해당 페이지가 존재하지 않습니다 '를 사용할 수 있음을 깨달았습니다./url) 올바른 페이지로 이동하십시오.

나는 어떤 접근 방식이 더 나은지 묻고있는 것 같아요. 수백만 개의 폴더/페이지를 만드는 것은 내가 인터넷 검색으로 찾은 해결책 이었지만, 실제로는 더 나 빠졌다. 두 번째 옵션에 대한 그들의 끔찍한 단점은 무엇입니까? 또는 아마도 세 번째 방법 일 수 있습니다.

+0

이 커뮤니티 위키를 만들기 위해 찾으시는 것입니까? –

답변

1

이러한 URL 리디렉션을 사용하려면 .htaccess 파일을 사용하십시오.

기본적으로 htaccess로는 example.com/index.php?q=user & 이름 = 개성있는에게 example.com/user/Idiomatic을 치료하기 위해 서버를 말할 수있는, 그것은로드 모든 PHP/MySQL의의 이 $ _GET 변수에 의한 데이터. 이것은 Drupal과 같은 많은 CMS에서 사용됩니다. 각각의 시간이 무의미 새로운 파일을 생성

http://en.wikipedia.org/wiki/Rewrite_engine

는, 많은 파일을 방법은 생성 될 것이다.

+0

감사! 정확히 내가 원했던 것처럼 보입니다. – Idiomatic

0

될 수

<?php 
$username=blahblah; 
require("../indextemplate.php?username=".$username); 
?> 

을 그리고, 나는 당신이 당신의 indextemplate 스크립트에서 $ _GET [ '사용자 이름']를 사용해야 할 것 같아요. 트레이 그것!

0

mod_rewrite을 살펴보십시오. 예를 들어

, 당신은 user.php :

$username = $_GET['username']; 
require("../indextemplate.php"); 

재 작성이 같은 것을 구성 할 수있다 :

RewriteEngine On 
RewriteRule ^(\w+)/?$ user.php?username=$1 [L] 
관련 문제