2013-01-03 2 views
3

저는 URL 재 작성 초보자이며 질문이 있습니다. 여기 내 규칙의 일부입니다 :누구나 URL 재 작성을 처리 할 수 ​​있습니까?

RewriteRule ^admin/page1/?$ admin/page1.php 
RewriteRule ^admin/page2/?$ admin/page2.php 
RewriteRule ^admin/page3/?$ admin/page3.php 
<more similar lines> 

이 페이지 (x)는 다른 PHP 파일입니다. 이제 다시 쓰기가 정상적으로 작동하지만이 모든 것을 단축 할 수 있습니까? 예를 들어 : 당신은 this-

RewriteRule ^(.*)/(.*)/$ admin/$2.php?{QUERY_STRING} 

코드처럼 시도 할 수 있습니다 답변 :

답변

0

을이 한 당신은 URL 예/프로젝트 /에 인 경우 다음의 .htaccess에 넣어

<IfModule mod_rewrite.c>                                                      
    RewriteEngine On                                                       
    RewriteCond %{REQUEST_FILENAME} !-d                                                  
    RewriteCond %{REQUEST_FILENAME} !-f                                                  
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]                                                
</IfModule> 

정말 좋은 당신 index.php, 당신은 인수 $ _GET [ 'url']에서 그것을 받게 될 것입니다. 그럼 explode ('/', $ _GET [ 'url']);

이것은 가장 간단하고 기본적인 URL 재 작성이며 모든 것에 적합합니다. 지정된 URL은 파일 시스템에 존재하는 파일 인 경우

, 그것은 나는 그것이 워드 프레스처럼보고, 그것은 당신의 index.php 코드에

+1

감사는 GET 인수에 URL을 줄 것이다, 다른 사람에게 파일을 줄 것이다 재 작성. 이 솔루션을 계속 사용한다고 생각합니다. 그것은 내가 약간의 코드를 편집해야 할 것 인 것이 유감이다. :) – Paulius

+0

이것은 CakePHP htaccess에서 파헤쳐졌다. – dctremblay

0

에 대한

RewriteRule ^admin/(.*)/?$ admin/$1\(.php) (or whatever...) 

덕분에 테스트되지 않은 상태입니다.

0

예, 할 것 :

RewriteRule ^admin/(.*)/?$ admin/$1.php 

그러나이 admin// 일치 내가 당신이 원하는 하지 확신이다 admin/.php로 변경됩니다. 당신이 가지고있는 규칙도 admin/folderX/pageX 일치하는 것으로

RewriteRule ^admin/(.+)/?$ admin/$1.php 

참고 : 그래서하는 + 대신 * (A)의를 사용합니다. 이 동작을 원하지 않는 경우, 시도 :

RewriteRule ^admin/([^/]+)/?$ admin/$1.php 
관련 문제