2014-11-23 7 views
1

죄송합니다. 이것이 정말 간단하다면! 나는 htaccess를 다시 작성하는 경험이 없으므로 주위를 돌아 다니고 있습니다.htaccess modrewrite로 URL을 다시 쓰는 방법

나는이 URL을

/category.php?cat=projects/retail/ 

을하지만 깨끗한 URL로 다시 작성하려면, 그래서 다음과 같습니다

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^category.php/([a-zA-Z0-9-/]+)$ /category?s=$1 [L] 
</IfModule> 
:이 작성한

/category/projects/retail/ 

나는 미디어 사원 Using .htaccess rewrite rules에 좋은 기사를 발견했다. 이것은 재 작성 규칙의 구조에 대해 조금 설명합니다. 그러나 저는 여전히 조금 붙어 있습니다.

^$으로 끝나는 것을 알고 있습니다. $ 뒤에 두 번째 문자열이 새 URL을 정의합니다.

그래서 RewriteRule

^category.php/([a-zA-Z0-9-/]+)$ 

원래 URL을 정의이 비트 후, 나는 ([a-zA-Z0-9-/]+) 내에서 내용이 일치 대문자, 소문자 및 하이픈을 의미한다고 생각. 아직 - 나는 또한 [L] 알고

내가 모르는 무엇

이 URL을 다시 작성하는 방법은 중지하도록 서버를 알려줍니다!

아무도 도와 줄 수 있습니까?

+0

어떻게 붙어? 너 해봤 니? 오류가 있었습니까? – Cfreak

답변

2

당신은 당신의 DOCUMENT_ROOT/.htaccess 파일에이 코드를 사용할 수 있습니다

RewriteEngine On 
RewriteBase/

# external redirect from actual URL to pretty one 
RewriteCond %{THE_REQUEST} \s/+category\.php\?cat=([^\s&]+) [NC] 
RewriteRule^/category/%1? [R=302,L,NE] 

# internal forward from pretty URL to actual one 
RewriteRule ^category/(.+?)/?$ category.php?cat=$1 [L,QSA,NC] 
+0

고맙습니다. 나는 단지 '예쁜 URL에서 내부의 실제 전달'을 사용할 필요가있었습니다. 감사합니다. – StephenMeehan

+0

다행 이니 다행입니다. – anubhava

관련 문제