ColdFusion 8.0.1 및 jQuery 1.4.3을 사용하고 있습니다.URL을 소문자로 다시 쓰고 서버에서 이중 히트하지 않는 방법은 무엇입니까?
jQuery를 사용하여 CFC에 Ajax 요청을하는 코드를 개발 중입니다. 나는 내가 만든 각 Ajax 요청이 실제로 서버에 두 번 제출되었다는 것을 알아 차렸다. (나는 Firebug에서 이것을 관찰했다.) 첫 번째 히트는 소문자로 강요되었다. 두 번째 히트는 현재 소문자로 작성되어 재 작성으로 인해 실패했습니다.
나는 상사에게 그것에 대해 물었고 application.cfm 파일의 일부 코드에서 URL을 모두 소문자로 설정 한 다음 CFHEADER를 사용하여 301 리디렉션을 수행했다고 지적했습니다. 나는 그 코드와 나의 Ajax 요청이 잘 작동한다고 해명했다.
여전히 SEO 목적을 위해 application.cfm 또는 in htaccess 파일의 다시 쓰기를 사용하여 모든 요청을 소문자로 강제해야합니다.
필자는 htaccess 파일에서이 유형의 기능을 수행하는 것이 더 좋습니다.
제 질문은 실제로 htaccess 파일을 사용하여 URL 재 작성이 CFHEADER처럼 실제로 페이지를 두 번로드하는지 여부입니다. 저는 월요일까지이 코드를 사용할 수 없습니다. 옵션과 최상의 대답을 알고 싶습니다.
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/(.*)$ /${lowercase:$1} [R=303,L]
도움 주셔서 감사합니다.
리디렉션을하는 경우 두 가지 요청이 있습니다. 네가 묻고있는거야? 리디렉션의 요점은 브라우저가 다른 URL에서 다른 요청을하도록 지시하는 것입니다. – Pointy
이중 히트를 방지하기위한 모든 종류의 작업은 사용자가 원하는 모든 URL에 대해 모니터하고 사용하는 클라이언트에 대해 일종의 플러그 인을 작성해야합니다.그리고 그 종류의 서버 기반 변경은 어떤 양식의 리다이렉트를 요구할 것이고, @ Pointy가 말했듯이, 그것은 항상 두 개의 요청이 될 것입니다. – Drahkar