2009-07-10 6 views
1

나는이의 URL을 다시 작성하기 위해 노력하고있어 : http://www.foo.com/bar/bazhtaccess로 재 작성 [규칙 도움말]

의 index.php Q = $ (1) & D

에를 = 바즈

여기서 bar는 고정 값이 아니지만 baz는 고정 값입니다.

RewriteRule ^(.*)\/baz$ index.php?q=$1&d=baz [L,QSA] 
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

내가 작품 이상 가지고 있지만 불행하게도 나누기 무엇 모든 사이트 (CSS/자바 스크립트)에 포함하지만 이상하게도 모든 페이지가 작동 :/

이것을 드루팔 설치되고, (그래서 두 번째 줄은 남아 있어야합니다).

UPDATE

이 실제로 도움이 될 수 있습니다, 내가

RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !=/favicon.ico 
    **RewriteRule ^(.*)/details index.php?q=$1&details=true [L,QSA]** 
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
그것은 그것의, 즉 지금, 유일한 문제는 그것이 다른 조건문을 무시하는 것입니다 제대로 내 재 작성을하고있는 것 같다

을 포함하는 것을 잊었다 존재하지 않는 파일 (예 : css, js)을 다시 작성하려고 시도 할 때이를 피하려고합니다.

내 사이트 (별이있는 사이트)가 없어도 사이트가 괜찮지 만 변수와 페이지는 작동하지만 CSS 등의 정적 파일도 다시 작성됩니다 .... 그만 두어야합니다!

미리 감사드립니다.

샤디

+0

두 번째 규칙은 무엇입니까? – Greg

+0

두 번째 규칙은 모든 URL을 다시 작성하고 프레임 워크로 보내는 Drupal 규칙입니다. 기본적으로 나는 baz로 끝나는 모든 URL을 캡처 한 다음 드루팔 (Drupal의 index.php)에 "bar"페이지 (항상 변경됨)를 보내고 d = baz (고정) . 그렇지 않으면 (baz가없는 경우) 정상적으로 계속하십시오. –

답변

0
RewriteRule ^(.*)/details index.php?q=$1&details=true [L,QSA] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !=/favicon.ico 
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

이 마지막 일 것입니다. 규칙의 재정렬이 필요했습니다 ...

1

조건은 바로 다음 첫 번째 규칙에만 적용됩니다. 따라서 조건 행을 복사 해보십시오.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/details index.php?q=$1&details=true [L,QSA] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
+0

거의, 내가 규칙을 재배치 했으므로 이것을 게시했습니다. 순서 때문에 충돌 한 것 같지만 위의 규칙을 위 조건에 추가하면 조건부 요소없이 작업 할 수 있습니다. 어쨌든 당신의 도움에 감사드립니다! :) –