2013-12-07 7 views
0

Я пытаюсь перенаправить все запросы от http://example.com/index.php?page1=json&page2=http://domain.com/dir/uri.php к http://example.com/json/http://domain.com/dir/uri.phpметод получения HTAccess RewriteRule со значением HTTP

Я пробовал:

RewriteRule ^([^/.]+)/([^/.]+)$        index.php?page1=$1&page2=$2 [QSA,L] 
RewriteRule ^([^/.]+)/([^/.]+)/$       index.php?page1=$1&page2=$2 [QSA,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .+ - [L] 
RewriteRule ^(.+)$ index.php?id=$1 [QSA,L] 

и мой результат от index.php с print_r ($ _ GET)

Array ([id] => json/http:/domain.com/dir/uri.php) 

Я ожидал, что результаты:

Array ([page1] => json [page2] => http://domain.com/dir/uri.php) 

Thx

ответ

0

Используйте это правило вместо:

RewriteCond %{THE_REQUEST} \s/+([^/]+)/([^\s]+) [NC] 
RewriteRule ^json/ /index.php?page1=%1&page2=%2 [L,NC,QSA] 

URI с несколькими косыми нужно захвачено с использованием %{THE_REQUEST} переменных.