2013-10-24 2 views
0

htaccess 파일을 다시 작성하려고하지만 여러 문제가 발생합니다. 여기에 먼저 내 htacess 파일입니다Htaccess : 루트를 변경하고 파일을 찾지 못함

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/ [R=301,L] 

RewriteRule ^([a-zA-Z0-9]*)/?$ index.php?category=$1&%{QUERY_STRING} 
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]+)/?$ index.php?category=$1&itemId=$2&%{QUERY_STRING} 

RewriteRule ^login$ login.php?category=$1&%{QUERY_STRING} [L] 

첫 번째 문제는 "내 사이트/foo는/바 /"와 같은 요청을 할 때, 그것은 카테고리와 해당 itemId의 쿼리 문자열을 다시 않는다는 것입니다뿐만 아니라 기본 변경 내 CSS 파일 및 Js 파일의 디렉토리를 /foo/bar/design/css/style.css

두 번째 문제는 "login /", "register /", "users /"와 같은 몇 가지 경로가 있다는 것입니다. 그리고 해당 파일을로드하려고하면 다음과 같이 표시됩니다.

The requested URL /login/ was not found on this server. 

감사합니다.

답변

0

우선은 다음과 같이 당신의 .htaccess을 변경

RewriteEngine On 

## If the request is for a valid directory 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
## If the request is for a valid file 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
## don't do anything 
RewriteRule^- [L] 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/ [R=301,L] 

RewriteRule ^([a-zA-Z0-9]*)/?$ index.php?category=$1 [L,QSA] 
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]+)/?$ index.php?category=$1&itemId=$2 [L,QSA] 

RewriteRule ^login/?$ login.php?category=$1&%{QUERY_STRING} [L,QSA] 
+0

지금 어떤 경로 오류 ... – Cedric

+0

URL 표시되어 오류를 표시하고 오류는 무엇인가? – anubhava

+0

예를 들어 mysite.com/foo/bar/는 요청 URL을 찾을 수 없다고 말합니다. – Cedric