최근 내 호스팅 제공 업체가 아파치 시스템을 2.4.4로 업데이트했습니다. 에서, 그래서 지금은 쿼리 문자열을 강제로 사이트를 실행시켜야하기 때문에 내 표현 엔진 사이트가 중단되는 원인이되었습니다.PATH_INFO .htaccess 규칙 사용이 중단되었습니다.
RewriteRule ^(.*)$ /index.php?/$1 [L]
내가 당신을 쉽게 단지 내 htaccess로 규칙에 선을 업데이트하여이 문제를 해결할 수 이해하는 바로는
은 ... 불행하게도 이에 대한 수정이처럼 간단하지 않았다.
내 웹 사이트는 사용자 정의 표현식 엔진 플러그인을 사용하여 세계 어느 지역에서 IP 대 모듈을 사용하는지 감지합니다. 기본적으로 발생하는 현상은 미국 출신 인 경우 미국 콘텐츠가 & 인 사이트를 볼 수 있습니다. 다른 곳에서는 URI의 첫 번째 부분에 "international"을 추가합니다. URI의 첫 번째 부분에는 첫 번째 부분을 기반으로 한 국제 콘텐츠가 표시됩니다. 우리의 URI
http://www.example.com/segment_1/segment_2/segment_2 = US SITE
http://www.example.com/international/segment_1/segment_2/segment_2 = INTERNATIONAL SITE
내가 그것을 국제 사이트를 나누기 index.php를 위해 RewriteRule의 해당 쿼리 문자열을 추가하려고하고 내가 왜 확실하지 않다 예를
합니다.RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule /international/(.*)$ /index.php/$1 [L]
"?" RewriteRule ^(.*)$ /index.php?/$1 [L]
은 미국 사이트를 수정하지만 국제 페이지를 찾을 수 없다는 국제 사이트를 위반합니다.
"?" RewriteRule /international/(.*)$ /index.php?/$1 [L]
은 국제 사이트를 수정하지만 미국 사이트는 쿼리 문자열이 필요하기 때문에 작동하지 않습니다.
둘 다 추가하면 둘 다 작동하지 않습니다.
분명히이 문제를 극복하기 위해 .htaccess 내에 뭔가가 누락되어 있지만 올바른 구문을 생성하지 못하는 것 같습니다.
아이디어가 있으십니까?
, 그것은의 definetly 저를 올바른 방향을 towrads 지적 감사합니다 순전히. 국제 색인 인 경우 색인 바로 다음에'RewriteRule^(. *) $ /index.php/$1 [L]'을 추가해야했습니다.PHP는 여전히 사용할 수 있어야합니다 + 나는 두 번째 부분뿐만 아니라 3 초기 조건을 반복해야했습니다. 고마워요. 피터 루이스. –