2012-01-05 3 views
0

빠른 요약 무서운 정의 CMS 대형 웹 사이트가 하나 이상의 도시에 대한 수용하기 위해 확대되고, 그들은 전체 밖으로 다음과 같이 여러 도시를 위해 하위 도메인을 사용하고자하는 것을 거부 :.htaccess solution? - 내가 뭘하는지의

www.example.com/cityx/ 
www.example.com/cityy/ 
www.example.com/cityz/ 

전체 CMS를 루트 URL에서 하위 폴더로 이동하고 개별 도시별로 복사하면 사이트는 "/css/style.css"및 "/js/jquery.js"와 같은 상대 URL을 사용하여 작성됩니다. 개별적으로 각 파일을 수정 하겠지만 300 개 이상의 PHP 파일을 처리해야합니다!

.htaccess에서 새 루트로 이동하는 상대 URL을 변경하는 방법이 있습니까? 즉 www.example.com/cityx/로 리디렉션 된 상대 경로가 있습니까?

답변

0

나는 당신이 달성하기 위해 노력하고 정확히 모르겠지만, 여기에 내가 당신이 할 수있는 무엇을 알고있다 : 그러나, 나는 당신이 자신의 CSS 파일을 가지고 각 도시를한다고 가정

Options -Indexes 
Options +FollowSymLinks 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^css/(.+)$ cityx/css/$1 [R=302,NC] 
</IfModule> 

을 ? 어떤 경우에는 이것이 가능한지 의심 스럽습니다.

내가 취하고있는 전술이 최선의 방법인지 여부는 확실하지 않습니다. 각 도시별로 CMS를 복사하여 CMS를 확장한다고 말하는 것입니까? 도시를 CMS 자체에 통합하고 htaccess를 사용하여 하위 디렉토리 (예 :/cityx/cityy)를 관련 CMS 페이지 (예 : /index.php?city=cityx) 또는 유사한 것으로 다시 작성하는 것이 좋지 않을까요? CMS에서 무언가를 업데이트해야 할 때가 마지막이 아니므로 나중에 모든 변경 사항을 모든 도시에서 복제해야합니다. 생각할 거리.

마지막으로 CSS가 300 페이지 만 있으면 CSS 및 JS 파일에 대한 링크를 변경하기 만하면된다고 생각합니다. 소프트웨어의 끔찍한 비트 일 것입니다. 어떤 웹 사이트도 하나의 CSS 또는 JS 파일에 대한 참조를 두 개 이상 가져야합니다. 다른 헤더 파일이나 다른 것이 있으면 2 개 또는 3 개가 될 수 있지만 이러한 참조가 포함 된 300 개의 개별 파일은 어리석은 것입니다. 더 나은 소프트웨어로 바꿀 시간. :)

+0

클라이언트는 우리를 위해이 지옥을 만들고 있습니다. 우리는 언덕으로 달려 가기 전에 빠른 해결책을 원합니다! CMS는 내가 지금까지 본 소프트웨어 중 가장 복잡하고 악몽 같은 비트입니다. 최악의 경우, 예산을 초과하기 전에이 작업을 완료하기 위해 1 주일 정도의 자금 만 남았습니다. 당신은 각 사이트마다 고유 한 CSS 등이 있다는 것이 옳았습니다. 제가 한 일은하지 않았지만이 코드를 맹세 한 다른 회사에서 상속 받았습니다. .htaccess 솔루션을 찾을 수없는 경우 클라이언트에게 하위 도메인을 사용하도록 설득해야합니다. –

+0

흠 ... 나는 이것을 수행 할 방법이 있는지 의심 스럽습니다. htaccess가 루트를 기준으로하기 때문에 htaccess가 제어권을 얻었을 때 요청이 만들어진 도시 하위 디렉토리를 찾을 방법이 없습니다. 리퍼러를 사용하여 뭔가를 해킹 할 수는 있지만 내 지식이 끝나는 곳은 두렵습니다. 어떤 경우 에든 이것에 대한 1 주일의 자금이 조금 부족한 것 같습니다. 고객에게 돌아가서 상황을 설명하고 (결과적으로 향후 유지 보수에 더 많은 시간과 비용이 소요될 것이라는 사실을 알려주고) 말하는 것을보아야 할 것입니다. –