2013-07-15 2 views
2

GET 데이터와 마찬가지로 URL에 변수를 전달하는 방법이 있습니까? 예를 들어, 슬래시는?PHP를 사용하는 URL 매개 변수

저는 현재 하나의 .php 파일을 가지고 있습니다.이 파일은 자바 스크립트를 사용하여 다른 콘텐츠로 div를 다시로드하여 페이지를 탐색하지만 상상할 수있는 바와 같이 주소 표시 줄의 주소는 그대로 유지됩니다.

사용자가 다른 페이지에 연결할 수있게하고 싶지만보기 파일이 하나 뿐인 경우 일반적으로 가능하지 않습니다.

+2

당신은' $ _SERVER [ 'QUERY_STRING']'하고 원하는 방식으로 구문 분석하십시오. – Orangepill

+0

원하는 URL 예제를 제공해주세요. –

+0

원하는 URL의 예를 제공해주세요. 'PATH_INFO'또는 원격으로 [hashbang] (http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook-and-new-twitter-urls-for)에 대해 묻는 것처럼 들립니다. 식별자. – mario

답변

0

시도가있다.

+0

의 중복 사본이 작동하지 않습니다. 첫 번째 것은 쿼리에 의존하며, 스크립트 이름이/user/(anything)처럼 동적으로 변경되지 않는 한, PHP는 원치 않습니다. PHP_SELF도 작동하지 않습니다. –

0

트릭을 할 수 있습니다.

곳이에/yourdir/모든 요청은 URL을 통해 yourindexfile.php로 전송됩니다

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ yourindexfile.php?string=$1 [QSA,L] 

. 따라서 http://localhost/yourdir/leveloneyourindexfile.php?string=levelone이됩니다.

문자열을 이렇게 분해 할 수 있습니다.

$query= explode('/', rtrim($_GET['string'], '/')); 
0

당신이 찾고있는이 기술은 .htaccess입니다. 엄밀히 말하자면 이것은 가능하지 않기 때문에 이것을 달성하기 위해 mod 재 작성을 해킹해야 할 것입니다.

RewriteRule On +FollowSymLinks 
    RewriteCond %{SCRIPT_FILENAME} !-d 
    RewriteCond %{SCRIPT_FILENAME} !-f 
    RewriteRule ^(user)/([^\.]+)$ ./index.html?tab=user&name=$2 

최상위 디렉토리의 .htaccess 페이지에 추가하십시오. 웹 사이트 구조를 조금 변경해야합니다. index.html이 귀하의 색인이라고 가정합니다. 이것은 역방향으로 다시 작성되므로 쿼리 문자열이있는 페이지로 이동하는 경우 이전 페이지로 리디렉션되지 않으며 쿼리 문자열없이 페이지로 이동하면 GET 데이터와 같이 작동합니다. 독립형 구성 요소의 IT 능력 스테로이드에 라우팅으로 사용 가능)

당신이 당신의 PHP 파일이 $_GET['tab']

0

$_GET['name']을 사용하여이 데이터를 GET 나는 심포니 Routing Component는 당신이 필요하다고 생각합니다.

RewriteEngine On 

#When using the script within a subfolder, put this path here, like /mysubfolder/ 
RewriteBase /mysubfolder/ 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

그런 다음 분할 서로 다른 URL 세그먼트 :

$url = isset($_GET['url']) ? $_GET['url'] : null; 
$url = rtrim($url, '/'); 
$url = filter_var($url, FILTER_SANITIZE_URL); 
$url_array = explode('/', $url); 

이제 $ url_array

0

I합니다 (JREAM framework의 포크는 프레임 워크, 같은 my에서) 이런 식으로하고 있어요 [url_array [2]]는 첫번째 매개 변수이고 $ url_array [3]는 두번째 매개 변수입니다 ...