get 정보를 포맷하려면 다음 .htaccess가 있습니다.Htaccess가 PHP를 두 번 실행하도록합니다
htaccess로 : 나는이 규칙을 적용 할 때
RewriteCond %{HTTP_HOST} ^(www\.)?csbuilder\.io [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?params=$1 [NC,L]
문제는이 두 번 PHP 스크립트를 실행하기 시작! 한 조각의 코드가 두 번 처리되기 때문에 그 점을 알았습니다.
그 스크립트는 데이터베이스에 임의의 토큰을 설정하고 데이터베이스에 페이지를 다시로드 할 때마다 브라우저에 전송되는 다른 토큰을 보게됩니다.
.htaccess 규칙을 제거하면 정상적으로 작동합니다.
아이디어가 있으십니까?
는 해결 :
기존 규칙은 모든 것을 matchs. 깨진 이미지가 있다면 그 이미지와 일치하여 index.php을 실행하십시오.
그래서 이미지와 다른 파일을 일치시킬 필요가 없습니다. 그래서 정규식을 따라 가면서이 문제를 해결했습니다.
RewriteRule ^([\w-/])+$ index.php?params=$1 [NC,L]
감사합니다. 모든 것이 index.php
, 라우팅 엔진의 많은 일반적인 패턴을 통과하기 위해 다시 작성되어 있기 때문에
달성하려는 목표는 무엇입니까? 왜냐하면'.htaccess'를 제거하면 * 잘 작동하기 때문에, 나는 대답하기를 꺼려합니다 : 단지'.htaccess'를 제거하십시오. –
이 규칙만으로는 하나의 요청 당 두 번'index.php '가 실행되지 않습니다. 일어날 수있는 것은'index.php'는 브라우저가'index.php'를 호출하는 다른 요청을 서버로 보내도록하는 리소스 링크 (예 : Javascript, CSS, images)를 출력합니다. – bishop
존재하지 않는 이미지 파일이있어서 index.php를 통해 실행하고 있습니다. .htaccess를 변경하여 이미지가 아니란 요청을 확인합니다. 감사합니다 – Simon