2012-05-24 3 views
0

.htaccess rewriterule에 문제가있는 것 같습니다.PHP에서 리디렉션 규칙을 다시 작성

[website]/[parameter1-text]/[parameter2-text] 

내 htaccess로에있는 다음과 같은 : 지금까지 너무 좋아

RewriteRule ^(.*)/(.*)$ dispatcher.php?s1=$1&s2=$2 

는 내가 뭘 원하는 양식의 디스패처입니다. 그러나 S1과 S2는 데이터베이스 (MySQL의)에 일치 할 몇 가지 변수와 다음과 같은 형식의 스크립트 view.php 공급 진정한 ​​변수 반환 :이 적절하게 사용하여 헤더를 리디렉션 할 수있는 방법

view.php?category=[s1]&subcategory=[s2]&objects=5 

을 ("위치 : /view.php [...]"); 및 (예 : http://example.com/CARS/BLUE http://example.com/SLIPPERS/RED/) 변경되지 않은 URL을 가진 모든

답변

1

먼저 약간의 당신의 .htaccess 문제 해결 : dispatcher.php 내부 지금

RewriteRule ^([^/]+)/([^/]*)/?$ dispatcher.php?s1=$1&s2=$2 [L,QSA] 

을 귀하의 MySQL의 물건과 가져 오기 s1s2의 값을 데이터베이스에서. 완료되면 내부적으로 요청을 view.php?category=[s1]&subcategory=[s2]&objects=5에 전달하려면 다음 유형의 PHP 코드가 필요합니다.

$_GET['category'] = $value-of-s1-from-DB; 
$_REQUEST['category'] = $_GET['category']; 
$_GET['subcategory'] = $value-of-s2-from-DB; 
$_REQUEST['subcategory'] = $_GET['subcategory']; 
$_GET['objects'] = '5'; 
$_REQUEST['objects'] = $_GET['objects']; 
// now include view.php 
// all your parameters are available in view.php in $_GET array 
require_once("view.php"); 
관련 문제