URL 재 작성 및 htaccess에 문제가 있습니다. www.example.com/index.php?fc=module&module=mymodule&controller=name&id=35
과 같은 URL이 있지만 너무 복잡하여 변경하고 싶습니다. 나는이의 .htaccess를 넣어 example.com/web/title-for-name/
처럼 내 호스트에서 디렉토리를 생성 : 나는 내 로컬에서 테스트를했는데 작동하는 것 같다하지만 난 생산을 테스트 할 때 그냥 내 URL을 변경하는 나를 재htaccess URL 다시 쓰기가 프로덕션에서는 작동하지 않지만 로컬에서 작동합니다.
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase/
RewriteRule ^(.*)$ index.php?fc=module&module=mymodule&controller=name&id=35$1 [L,NC]
. 내 웹이 다른 URL을 다시 쓰고 있기 때문에 모드 다시 쓰기가 활성화되었습니다. 또한 AllowOverride
은 All
으로 설정됩니다. 내 지역과 생산의 주요 차이점은 광택을 사용하지 않는다는 것입니다.
이것은 'id'매개 변수의 일부로 대체 된 URL의 끝에있는 추가 URL 경로를 _append_ 의도 한 것입니까? 그렇지 않으면 _external redirect_를 야기하는 지시문 자체에 아무런 문제가 없습니다. 바니시 (Varnish)를 사용하면 이러한 현상이 발생할 수 있습니다. – MrWhite
네,하지만 더 나아질 수 있습니다. URL의 GET 변수를 추가하려고하지만 쓸모없는 index.html 부분도 추가합니다. – Serpes
"GET 변수 추가"를 원하면 'QSA' (Query String Append) 플래그가 필요합니다. 'RewriteRule' 패턴과 일치하는 URL 경로는 특히 쿼리 문자열을 제외시킵니다. ('$ 1' 역 참조를 포착 할 필요가없는 것 같습니까?) – MrWhite