내가 htaccess로한다 RewriteEngine을 사용하여 이상한 문제가 재 작성.의 PHP htaccess로 URL이 잘못된 매개 변수
: http://test.local/en-US/something.php를 호출 할 때, 내가 좋아하는 뭔가를 기대 그래서echo('lang: '.$_GET['lang1'].'< br />');
echo('page: '.$_GET['page1'].'< br />');
echo('querystring: '.$_SERVER['QUERY_STRING']);
:이 PHP 코드를 넣어
페이지에서RewriteEngine On
RewriteRule ^(.\*)/(.\*).php$ pages/test.php?lang1=$1&page1=$2 [L]
/test.php :
나는이 간단한 규칙이lang: en-US
page: something
querystring: lang1=en-US&page1=something
대신 페이지에서 가져 오는 이상한 결과입니다 :
lang: pages
page: test
querystring: lang1=pages&page1=test
은 누군가가 나를 도울 수 있습니까? 당신은 또한 QSA 플래그를 사용할 수 있습니다
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/pages/test\.php$
RewriteRule ^(.*)/(.*)\.php$ /pages/test.php?lang1=$1&page1=$2 [L]
매력처럼 작동합니다. 감사합니다. 그것은 루프를 통해 갔다 난 정말 왜 리디렉션 – Cuttlefish
...하지만, 이해하지 못하는 '^ (. *)/(. *) \. PHP는 $은','페이지/test.php'도 패턴과 일치합니다. LANG1 = 페이지 및 PAGE1 = 시험 및 LANG1 = EN-US & PAGE1 = dfsdfasdf : 어쨌든, 기쁜 지금 – Oussama