문제 : 점이 포함 된 쿼리 문자열을 다시 쓸 수 있도록 리터럴 점을 내 식에 일치시키는 방법을 알 수 없습니다. 나는 PHP 스크립트를htaccess regex와 리터럴 점을 일치시킬 수 없습니다
RewriteRule ^([\.\w]+)$ index.php?url=$1 [L]
: 우선 이런 식으로 뭔가를 시도
echo "url is: ".$_GET['url'];
하는 경우, 이론, 내 쿼리에 쓰기 출력 것도있다. 나뿐만 아니라 이러한 식을 시도했습니다
url is: index.php
:
^(.+)$
^([.\w]+)$
을 그리고 결과는 동일하지만 문자와 도트가 포함 된 쿼리에 대해, 제 스크립트는 항상 출력합니다.
그래서 질문이 있습니다 : 내 표현이 잘못 되었습니까? 아니면 서버의 구성과 관련이 있습니까?
, 그것은 세트에서 하나 이상의 문자와 일치 영숫자와 문자를 포함하고 있습니다. 당신이 요청한 경로에 관계없이 항상'index.php'를 얻나요? – Lekensteyn
그래, 몇 가지 온라인 도구로 정규식을 확인했는데 제대로 작동했다. 그러나 나는 두 개의 서로 다른 웹 서버에서 같은 결과를 얻습니다 : 쿼리가 무엇이든 상관없이, php는 'index.php'를 출력하고 그것이 필요한 것은 아닙니다. – package
아파치가'RewriteRule'에 도착하기 전에 URL로부터 쿼리 문자열을 제거한다는 것을 알고 있습니까? 입력하는 전체 URL과 원하는 예상 출력의 예를 제공하십시오. – ridgerunner