나는이 간단한 문제로 몇 시간을 보냈으며 여기서 잘못하고있는 것을 파악할 수 없습니다.예기치 않게 RewriteRule이 반환됩니다. 301
이 예상대로 작동합니다
RewriteEngine on
RewriteRule ^([A-Za-z0-9-_.]+)/([A-Za-z0-9-_.]+/)$ index.php?eins=$1&%{QUERY_STRING}&zwei=$2&%{QUERY_STRING} [L]
및 요청 다시 작성합니다 https://domain.tld/asdf/asdf/내부적으로 예상대로 지금까지 너무 좋아 모든 https://domain.tld/index.php?eins=asdf&zwei=asdf에 있습니다.
하지만이 추가로 2 규칙을 추가하는 경우
RewriteEngine on
RewriteRule ^([A-Za-z0-9-_.]+)/([A-Za-z0-9-_.]+/)$ index.php?eins=$1&%{QUERY_STRING}&zwei=$2&%{QUERY_STRING} [L]
RewriteRule ^(.+[^/])$ /$1/ [R=301,L]
아파치, 301 https://domain.tld/asdf/asdf/ 내가 첫 번째 RewriteRule의이 L = 마지막 하나 여야합니다 예상 https://domain.tld/index.php/?eins=asdf&&zwei=asdghi/
로 리디렉션 같은 요청에 응답하지만, 왜 리디렉션을합니까? 실제로 후행 슬래시가 없으면 30130 리디렉션 만을 얻고 싶습니다.
내가 정확히 코드가 아니라, 어떤 슬래시를 추가 아니에요 추가하는 경우. 문서와 관련된 첫 번째 줄은 디렉토리가 존재하는지 확인하기 때문입니다. 나는 그게 사실이 아니다. 그러나 첫 번째 줄이 없어도 슬래시는 추가되지 않지만 디스크의 절대 경로로 리디렉션됩니다. – CptLeChuck70
'RewriteBase /'를 추가해야합니다. – Ben