내 URL에 단순히 앰퍼샌드를 사용하지 않고 파일을 요청할 때 앰퍼샌드를 시스템에 전달할 수 있습니다. 문제는 Apache가이를 다르게 처리한다는 것입니다. 어떻게 해야할지 모르겠다.mod_rewrite는 나중에 앰퍼샌드의 모든 인스턴스를 % 26로 바꿉니다.
요청한 파일을 index.php에 다시 작성했는데 URL이 $ 1 이었으므로 그 파일은 무엇인지 알 수 있었지만 앰퍼샌드가 있으면 그 파일을 계속할 수 없다.
어떻게하면 앰퍼샌드를 이스케이프 처리하거나 16 진수 (% 26)로 바꿀 수 있습니까?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>`
흠! 이것은 위의! -f 조건을 깨뜨린 것 같습니다. 이제 모든 외부 파일이 서버에서 작동하지 않습니다. – Supernovah
어디에서 RewriteRule 행을 넣었습니까? –