나는 apache2에서 항상 작동하지만 지금은 새로운 공유 호스팅을 시도하고 다시 쓰기 규칙이 적용되지 않는 몇 가지 다시 쓰기 지시문을 사용하고 있습니다.다시 쓰기 규칙이 아파치 1.3을 작동하지 않습니다
나는 다음과 같은 필수 규칙에 .htaccess 파일을 감소했습니다 당신이 볼 수 있듯이
RewriteEngine On
Rewritebase /demo/
RewriteRule ^(.*)$ index.php/$1 [L]
, 난 루트에서 데모 폴더에 내 index.php 파일에 대한 모든 요청을 다시 작성합니다.
http://www.example.com/demo/albums/show/1과 같은 것은 모두 표준 MVC 설정을 위해 http://www.example.com/demo/index.php으로 처리해야합니다. (CodeIgniter btw를 사용하고 있습니다.)
위의 지시어는 500 오류가 발생하므로, 1.3과 2.x의 구문에 약간의 차이가있을 수 있습니다.
일부 흔적 및 오류 편집 후 재 작성 규칙 자체가 잘못되었음을 발견했지만 실제로 이유를 이해하지 못합니다.
- 내 다시 쓰기 규칙이 작동하지 않는 이유는 무엇입니까? 많은 다른 서버에서 이전에 그랬습니다.
- 제안 사항 해결 방법?
참고 : mod_rewrite가 작동하지만, 나는 작은 테스트를 작성했습니다. 당신의 위치에서
감사합니다, 좋은 팁을, 내가 RewriteBase 지시어를 제거 한이 루트에 대한 200 응답 결과 .../데모 /하지만 다른 결과 404 아파치에서 (내 스크립트에서 처리하지는 않지만 내 로그에서 알 수 있습니다.) –
우연한 재 작성을 피하기 위해 위의 RewriteRule을 추가했습니다. RewriteCond로 처리하는 방법이 있지만 커피가 필요합니다. –