2014-07-23 2 views
1

"예쁜 URL"을 만들기위한 htaccess 파일 (내 생각에) 때문에 URL에 문제가 있습니다. 그것이 내가 일이 같은 매개 변수와 함께 URL을 제공해야 할 때처럼htaccess 파일 및 여러 URL 매개 변수를 사용할 때 상대 경로 문제를 해결하는 방법

모든 작동합니다

localhost/project/page/parameter 

을 :

localhost/project/page 

을하지만이 같은 URL의 끝에 다른 매개 변수를 추가 할 때 페이지의 경로가 절대적으로 동일하고 URL의 두 번째 매개 변수가 페이지와 관련이없는 경우에도 페이지를 찾을 수 없습니다. 당신은 문제가 다른 이유로 발생하는 생각하면

RewriteEngine On 

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

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

알려 주시기 바랍니다 :

여기 내 htaccess로 파일 내 내용입니다.

도움이 될 것입니다.

답변

1

이것은 매우 URL 스키마로 전환 할 때 사람들이 직면하는 가장 일반적인 문제입니다.

이 문제는 css/js/image 경로에서 상대 경로를 사용하고 있기 때문에 발생합니다. 이 문제를 해결할 수있는 두 가지 옵션이 있습니다.

  1. 상대 경로가 아닌 css, js, 이미지 파일에서 절대 경로를 사용하십시오. 즉,이 파일의 경로가 http:// 또는 슬래시 /으로 시작해야합니다.
  2. 페이지의 HTML 헤더에 <base href="/" />을 추가하면 모든 URL이 현재 URL이 아니라 해당 URL에서 처리됩니다.
+0

답장을 보내 주셔서 감사합니다. MAINPATH는 프로젝트의 절대 경로를 포함하는 상수 변수입니다. – Langkiller

+0

다행스럽게도 다행입니다. – anubhava