2012-06-24 1 views
1

내 회원 페이지 있도록 URL을 다시 작성 해요 - domain.com/profile.php?id=123가 재 작성 URL htaccess로, mod_rewrite를 - "을 (를) 찾을 수 없습니다 디렉토리"

사람의 경우 domain.com/user/John

됩니다를 domain.com/user에 접속하려고하면 웹 브라우저에 디렉토리를 찾을 수 없다고 말합니다. 폴더와 인덱스 파일을 추가하지 않고이 디렉토리를 "진짜"로 만들 수있는 방법이 있습니까? .htaccess 파일에서?

일부 스크립트를 호출하면 firebug에서 해당 디렉토리가 존재하지 않는다고 경고합니다.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 
</IfModule> 

RewriteRule ^user/([^/\.]+)/?$ profile.php?username=$1 [L] 
+0

다시 작성 규칙을 게시하십시오. 당신이 404를 얻는다면, 당신은 아마 잘못된 재작 성을 가지고있다. –

+0

게시물이 업데이트되었습니다. – user1121487

+0

사용자 이름없이 404에 적용되는 규칙이 없으므로 사용자/"폴더"에 404가 표시됩니다 ... – poncha

답변

2

"사용자/그 다음 사용자 이름없이 제출하면 어떻게하는 렌더링해야 하는가?"

정말 중요하지 않습니다. 루트로 돌아가 봅시다.

그런 다음 위해 특별히 규칙을 쓰기 :

그것은 귀하의 게시물 sonce 일년이되었습니다
RewriteRule ^user/?$/[L] 
+0

과 상관 없지만 404와 함께 문제를 해결해 주셔서 감사합니다. 그러나 domain.com/user 페이지는 깨진 스크립트 링크가 있습니다. domain.com/user/ javascript/file.js 등 .. 루트로 다시 보내고 "/ user"를 위치에서 제거 할 수 있습니까? – user1121487

+1

@ user1121487 이것은 상대 URL 문제이므로 헤더에 '' 태그를 사용하여 수정하십시오. http://stackoverflow.com/a/8216451/851273 –

+0

그랬습니다. 감사! – user1121487

2

당신이 당신의 URL에서 "domain.com"이전 http://을 배치하는 :

여기에 재 작성 규칙 및 전체 htaccess로 파일이야?

프로토콜을 지정하지 않으면 서버에서 파일 경로를 찾으려고 시도합니다.

+0

.htaccess 파일로 내 게시물을 업데이트했습니다. http : // ... – user1121487

0

은 아직도 당신이 저를 저장 한, 사흘 동안 나는 등의 이유를에 솔루션을 찾고 있었어요 내 슬래시를 읽지 않고 다른 문자를 읽을 수 있습니다 사용자 이름없이 404에 적용되는 규칙이 없으므로 사용자/"폴더"에 404가 표시됩니다 ... - poncha Jun 24 '12 at 18 : 41 Poncha and Jon Lin 감사합니다.