%23이 들어 있는 URL을 다시 쓰는 방법은 무엇입니까?
저는 (워드 프레스) 블로그를 가지고 있는데, 여기서 사용자들은 댓글을 달면 그들의 댓글에 앵커가 있는 페이지로 다시 이동합니다.다음과 같이 표시해야 합니다.
http://example.org/foo-bar/ #http-570630
하지만 어떻게든 로그 파일에 404개의 URL이 저장됩니다.
http://example.org/foo-bar/%23comment-570630
이 문제를 해결하기 위해 .htaccess 다시 쓰기 규칙을 작성하는 방법이 있습니까?
보너스 질문:왜 이런 일이 일어나는지 그리고 내가 그것에 대해 무엇을 할 수 있는지 아십니까?
%23
의 URL 인코딩 표현입니다.#
당신의 다시 쓰기 규칙이 만족스럽지 못할 것 같습니다.%23
반응이 어떻게 구성되고 있는지 조사해야 합니다.특히, 모든 URL 인코딩 기능이 작동합니다.
그러나 다시 쓰기 규칙으로 문제를 해결할 수 있습니다.고객에게 의견을 제출한 후 두 가지 답변을 회신한다는 점을 이해합니다.그렇기 때문에 첫 번째 반응을 수정하는 것이 좋습니다.
# http://example.org/foo-bar/%23comment-570630 -> http://example.org/foo-bar/#comment-570630
RewriteCond %{REQUEST_URI} %23comment-\d+$
RewriteRule (.+)\/%23-comment(\d+)$ http://host/$1/#comment-$2 [R=301]
테스트되지 않았지만 작동해야 합니다(탈출에 대한 확신이 없습니다).\%
mod_model)에서 특별한 의미를 가지고 있기 때문입니다.
B 깃발을 써보셨습니까?
RewriteCond %{REQUEST_URI} %23comment-\d+$
RewriteRule (.+)\/%23-comment(\d+)$ http://host/$1/#comment-$2 [B,R=301]
특정 사례로 테스트되지 않았지만 관련 문제에 사용됩니다.
언급URL : https://stackoverflow.com/questions/2438509/how-to-rewrite-a-url-with-23-in-it
'programing' 카테고리의 다른 글
traceback / sys.exc_info() 값을 변수에 저장하는 방법은 무엇입니까? (0) | 2023.06.23 |
---|---|
os.path.basename()과 os.path.dirname()의 차이점은 무엇입니까? (0) | 2023.06.18 |
매크로 - 폴더의 모든 파일 열기 (0) | 2023.06.18 |
Ruby 어레이: %w 대 %W (0) | 2023.06.18 |
지정된 클래스의 계층 구조에 있는 모든 기본 클래스를 나열하시겠습니까? (0) | 2023.06.18 |