2012-12-09 2 views
2

mod 재 작성을 사용하여 하위 도메인을 폴더의 매개 변수가있는 파일로 리디렉션하려고합니다.mod는 CSS와 이미지의 폴더 나누기 경로에 하위 도메인을 다시 작성합니다.

웹 사이트는 루트의/new 폴더에 있습니다.

지금 (루트에 위치) 내 htaccess로이가 작동

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^[www\.]*new.mydomain.com [NC] 
RewriteCond %{REQUEST_URI} !^/new/.* 
RewriteRule ^(.*) /new/index.php?cust_id=1807 

, 그것은 매개 변수를 사용하여 바로 파일로 브라우저를 리디렉션하지만 모든 CSS, JS 및 이미지 링크를 나누기. 절대 경로를 사용하거나 기본 경로를 설정하면 쉽게 해결할 수 있습니다.하지만 상대 경로를 계속 사용하고 작동하도록하고 싶습니다.

소스는 다음과 같이 CSS에 연결됩니다. http://new.mydomain.com/new/css/file.css

미리 감사드립니다.

편집 : CSS와 이미지 파일을 제외하면 해당 파일이 포함되어 있지 않기 때문에이 문제를 해결할 수 없습니다./새/CSS를

답변

0

편집 : 귀하의 의견

RewriteEngine on 
# Redirect css,js,img to /new/(css,js,img) with a 301 
RewriteCond %{HTTP_HOST} ^[www\.]*new.mydomain.com [NC] 
RewriteCond %{REQUEST_URI} ^/(css|js|img)/.* 
RewriteRule ^(.*)$ /new/$1 [L,R=301] 

# then redirect anything that's not already /new/ to the page you want 
RewriteCond %{HTTP_HOST} ^[www\.]*new.mydomain.com [NC] 
RewriteCond %{REQUEST_URI} !^/new/.* 
RewriteRule ^(.*) /new/index.php?cust_id=1807 

이를 바탕으로 내가 아래에있는 내 의견을 참조,이 제한된 정보를 기반으로합니다.

+0

감사하지만 동일한 문제가 'He Was'가 이전에 준 해결책과 동일하게 적용됩니다. –

+0

당신의 재 작성 규칙은 기본적으로 /new/index.php?cust_id=1807로 모든 것을 리디렉션한다고 말합니다. . 모든 페이지를 /new/index.php?cust_id=1807로 리디렉션하거나 모든 페이지를/new /에 매핑해야합니까? 당신이 그것을 제공 할 수 있다면, 나는 더 나은 해결책을 염두에두고 있습니다. –

+0

모든 페이지를 해당 링크로 다시 매핑해야합니다. 제가 언급했듯이, 그것은 하위 도메인을위한 것입니다. –

0

다른 rewriteCond를 추가하는 것은 어떻습니까? 뭔가 ...

RewriteCond %{REQUEST_URI} !^.*\.(css|js|jpe?g|png|gif)$ 

이렇게하면 해당 접미사가있는 모든 파일이 다시 작성되지 않습니다.

그런데이 [www\.]*이 첫 번째 RewriteCond에서 올바르게 보이지 않는다고 생각합니다. '0 번 또는 여러 번 w 또는 w 또는 w를 의미합니다.' 그래서 아무 것도 유용하지 않습니다.

+0

나는 그것을 이미 시도했다. 문제는 CSS 파일과 이미지가 해당/새 폴더의 하위 폴더에 있다는 것입니다. 리디렉션 후 루트에서 해당 폴더를 찾습니다. 나는 그 파일에 대한 요청을/new 폴더에 전달하는 또 다른 규칙이 필요하다고 생각한다. 예 : /css/file.css ~ /new/css/file.css –

관련 문제