매개변수를 사용한 nginx 리디렉션 문제
滿天的星座
滿天的星座 2017-05-16 17:15:56
0
1
836

글쎄, 방금 키워드를 aaabbb로 변경했습니다.
다음은 /aaabbb/anime을 방문할 때 실제로 /ab_anime.php

를 요청한다는 의미입니다. 으아악

그러면 처음 클릭할 때 매개변수가 동시에 주소 표시줄에 표시되지 않도록 만들고 싶습니다. 매개변수가 없습니다.

그래서 매개변수가 없으면 뒤에 물음표가 나오는지 확인해봤는데 소용없더라구요.
내가 $1?id=$2를 직접 썼기 때문인가요?
주소 표시줄 끝에 추가된 매개변수만 사라집니다. 그러나 그것은 소용이 없었습니다.

이거 또 봤어

으아악

무엇을 해야할지 모르겠네요... 하나 더 작성하고 $arg를 사용해야 할까요? ? ?

滿天的星座
滿天的星座

모든 응답(1)
習慣沉默

질문자가 문제를 복잡하게 만든 것 같습니다.
물론, 질문자의 요구 사항을 제가 잘 이해했는지는 잘 모르겠습니다. 다음과 같이 자세히 설명하겠습니다.

  1. 사용자 요청/aaabbb/anime

  2. nginx는 /aaabbb.php?id=anime을 올바르게 구문 분석하고 콘텐츠 A를 사용자에게 반환합니다

  3. 사용자의 주소 표시줄은 /aaabbb를 읽고 콘텐츠 A

  4. 를 즐깁니다.
  5. 사용자는 브라우저를 새로 고치고 /aaabbb로 이동한 후 /aaabbb.php의 콘텐츠 B를 즐깁니다. (또는 콘텐츠 A를 계속 읽으세요)

여기에 버그가 있습니다. 요청이 /aaabbb/anime인 경우 주소 표시줄은 기껏해야 /aaabbb/anime#xxxxxx로 변경됩니다. # 이전은 변경되지 않으며 # 이후는 해시가 됩니다. 주소 표시줄을 /aaabbb로 변경하려면 리디렉션 작업이 있어야 합니다.

제 생각은 다음과 같습니다. (답변을 채택하시면 제 솔루션의 잘못된 내용에 대해 댓글을 달아주세요)

  1. nginx 재작성 전략은 rewrite ^/aaabbb/(w+)$ /redirect.php?target= last;

  2. redirect.php는 대상을 세션에 기록하고 리디렉션을 /aaabbb로 반환합니다(주소 표시줄은 이 방법을 통해서만 수정할 수 있고 수정할 수 있음)

  3. /aaabbb/ index.php로 이동하여 세션에서 대상을 읽고 지우고(또는 지우지 않고) 해당 PHP 파일을 호출하여 콘텐츠를 반환합니다.

  4. /aaabbb를 새로 고칠 때 index.php로 이동하고 세션을 기반으로 요청에 응답하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!