2010-03-09 3 views
1

에 의해 생성 된 깨끗한 URL을 읽는 지금까지 나는 다음과 같은 URL을 변환의 .htaccess를 사용하여 관리했습니다 :얻기 PHP 내가 깨끗한 URL과를 만들려고 해요 .htacces

www.example.com/index을 ? .PHP catagory = 조 제 1 항 & 페이지 =로 페이지 1

:

www.example.com/Section1/Page1/

문제는 다음 URL을 해석하고 변수를 추출하는 PHP을 받고있다.

htaccess로 코드 :

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine on 

INTERNAL STATIC URL TO DYNAMIC URL 
RewriteRule ^/([^/]+)/?$ /index.php?c=$1 [L] 
RewriteRule ^/([^/]+)/([^/]+)/?$ /index.php?c=$1&p=$2 [L] 

EXTERNAL DYNAMIC URL TO STATIC URL 
RewriteCond %{THE_REQUEST} ^[a-zA-Z0-9]{1,3}\ /index\.php\?catagory=([^&]+)\ HTTP/ 
RewriteRule ^index\.php$ http://www.example.com/%1/? [R=301,L] 
RewriteCond %{THE_REQUEST} ^[a-zA-Z0-9]{1,3}\ /index\.php\?catagroy=([^&]+)&page=([^&]+)\ HTTP/ 
RewriteRule ^index\.php$ http://www.example.com/%1/%2/? [R=301,L] 

PHP 코드 : 나는 404 오류 페이지가 계속이와

$urlVariables = explode("/",$_SERVER['REQUEST_URI']); 
$catagory = $urlVariables[1]; 
$page = $urlVariables[2]; 

여기에 내가 사용하고 코드입니다. 나는 이것을 htacces 코드의 라인에 index.php를 추가하는 경우 :

RewriteRule ^index\.php$ http://www.example.com/index.php/%1/? [R=301,L] 

페이지 이상로드하지만, CSS 및 이미지가로드되지 않습니다.

답변

1

.htaccess 파일에서 mod_rewrite를 사용하는 경우 패턴에서 컨텍스트 로컬 경로 접두사를 제거해야합니다. 따라서 루트 디렉토리에있는 .htaccess 파일의 경우 선두가 / :

RewriteRule ^([^/]+)/?$ /index.php?c=$1 [L] 
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?c=$1&p=$2 [L] 
관련 문제