다시 쓰기 규칙 구문에 어려움을 겪고 있습니다. 네가 도울 수 있기를 바래.RewriteRule 구문 및 구성에 문제가있어 어려움이 있습니다.
노드 패키지 모듈을 사용하여 슈퍼 아약시 사이트의 html 스냅 샷을 작성했습니다. 이 모듈은 나중에 escape_fragment rewrite rules에 사용할 수 있도록 URL이라는 디렉토리에 스냅 샷을 출력합니다. 따라서 exampledomain.net/a45.php?lang=eng은 ./snapshots/a45.php?lang=eng/index.html로 출력됩니다. 그래서 그 디렉토리에 CD를 넣으려면 물론 특수 문자를 이스케이프해야합니다.
http://testdomain.net/a45.php?lang=eng에서 http://testdomain.net/snapshots/a45.php?lang=eng/index.html까지 다시 쓰려고하는데 다시 쓰기 규칙을 적용 할 수 없습니다. 하위 디렉토리
Options +FollowSymLinks
RewriteEngine On
ReWriteBase /var/www/vhosts/testdomain.net/httpdocs/secure/clients/amg/3dot0
RewriteRule ^a45\.php?lang=eng$ /snapshots/a45.php?lang=eng/index.html
나는 또한 함께하고 RewriteBase없이 시도에 htaccess로 파일에 :
다음은 내가 해봤 구문입니다. 나는 두 번째 URL을 이스케이프 처리하고 첫 번째 URL에 다른 문자를 사용하여 위와 동일하게 시도했습니다. OH 및 전체 httpdocs 디렉토리의 Allowoverride를 모두 활성화해야합니다. 주요 vhost.conf 파일 - Options + Indexes를 통해이 트리 전체에서 디렉토리를 탐색 할 수 있기 때문에 지시문이 작동하고 있음을 알고 있습니다.
어떤 조언이나 단서가 크게 감사하겠습니다!
OH! {QUERY_STRING}을 (를) 사용해야합니다. 더 자세히 읽으십시오. – funkenstein
RewriteCond % {QUERY_STRING}^(\ w +) = (\ w +) $ RewriteRule ^/path/path/% 1/% 2? – funkenstein
QUERY STRING에있는 내용을 확인하고 RewriteCond에서 가져올 수 있지만,?, &, =, /와 같은 서버의 운영 체제를 혼동시킬 수있는 이상한 문자가 있으면주의해야합니다. 정확히 여기서 뭘 하려구? QS에있는 것을 기반으로 특정 index.html을 실행 하시겠습니까? 아니면 새로운 디렉토리에 무언가를 덤프하려고합니까? –