2011-09-19 3 views
0

내가 내 추한 URL들로 변환하는 간단한 mod_rewrite을 썼다 링크 : 모든 이미지, 스크립트 및 스타일은 가짜URL를 기준으로 요구하고 있기 때문에mod_rewrite를 상대 HTML은

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule news\/([^\/]+)/([0-9]+)-([^\/]+)$  news.php?id=$2 
    RewriteRule (.*)/images/(.*)$      images/$2 
    RewriteRule (.*)/css/(.*)$       css/$2 
    RewriteRule (.*)/js/(.*)$       js/$2 
</IfModule> 

문제는 즉시 일어났다. 그래서 regex에 대해 다음 3 개의 end-of-line 어설 션을 추가하고 다음 3 개의 규칙을 추가해야했습니다. 내가 묻는 것은이 접근법이 좋은지 아니면 너무 많은 자원을 소비하는지 여부입니다. 나는 이것을 절대 링크를 통해 해결할 수 있다는 것을 알고 있지만 내 게으름은 사이트 전체에 영향을 미치는이 솔루션을 시도하게 만들었습니다. 아니면 더 나은 해결책이 있습니까?

한 가지 제안 사항은 링크에 슬래시를 추가하는 것입니다. 문제는이 사이트가 foo.combar.com/baz/qux/이라는 두 도메인을 통해 액세스 할 수 있으므로 실제로 사용할 수 없다는 것입니다.

도움을 주시면 감사하겠습니다. 감사!

답변

2

또한 <base href=""/>을 html 파일에 추가하면 images/css/js 다시 쓰기 규칙이 저장됩니다.

"너무 많은 리소스를 소비합니다."- 실제로 많은 액세스가 발생하면 확실한 발이 떨어질 것입니다. 그러나 나는 당신이 그 교통 지역으로 들어오는 것을 의심합니다.

+0

그건 그냥 순수한 우아함입니다. 한 줄의 솔루션! 받아 들일 2 분. 어리석은 제한 =) –