문제

공간이있는 URL을 리디렉션하려면 리 글라이브를 설정해야합니다. 나는 이것을 시도했다 :

RewriteRule ^article/with%20spaces.html$ /article/without_spaces.html [R=301,L]

...하지만 작동하지 않습니다. %20 대신 공간을 넣으면 500 개의 내부 서버 오류가 발생합니다. 공간을 어떻게 추가합니까?

도움이 되었습니까?

해결책

당신의 공간 앞에 를 넣어 탈출하십시오.

RewriteRule ^article/with\ spaces.html$ /article/without_spaces.html [R=301,L]

다른 팁

당신은 a 로 공간을 피할 수 있습니다.

RewriteRule ^article/with\ spaces.html$ /article/without_spaces.html [R=301,L]

각 공간을 빠져 나가는 복잡성을 피하려면 (예 :이 파일을 자동으로 생성 할 계획이라면) 간단히 인용문을 사용할 수 있습니다.

RewriteRule "^article/with spaces.html$" /article/without_spaces.html [R=301,L]

또한,이 인용문은 예상되는 주장을 제시하는 데 사용될 수 있습니다.

RewriteRule "^article/with spaces.html$" "/article/without_spaces.html" [R=301,L]
RewriteRule ^article/with[\ |%2520]spaces.html$ /article/without_spaces.html [R=301,L]

첫 번째 옵션은 공간을 대체하고 두 번째 옵션은 URL에서 하드 코드 %20을 대체합니다.

아, 솔루션을 찾았습니다 : Regex 스타일을 사용하여 공간을 보여줍니다.

RewriteRule ^article/with\sspaces.html$ ...

그러나 나는 이것이 다른 모든 공백 문자 (탭 등)와 일치 할 것이라고 생각하지만, 그것이 많은 문제가 될 것이라고 생각하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top