Опитвам се да изпълня някои пренасочвания, както следва:
#Basic Rule Set
RewriteRule ^/path$ http://newhost.com/Page?pagename=form1000 [R=301]
RewriteRule ^/path/index.html$ http://newhost.com/Page?pagename=form1000 [R=301]
които работят добре.
Въпреки това, пренасочванията с низове на заявка в източника и местоназначението ме връщат към горния целеви URL адрес. за напр.
# Advanced Rule Set
RewriteRule ^/path/index.html?var=foo$ http://newhost.com/Page?pagename=form1000?id=hello [R=301]
RewriteRule ^/path/index.html?var=bar$ http://newhost.com/Page?pagename=form1000?id=byebye [R=301]
RewriteRule ^/path/index.html?var=xyz$ http://newhost.com/Page?pagename=form1000?id=world [R=301]
всички пренасочват към http://newhost.com/Page?pagename=form1000
. Опитах RewriteCond %{QUERY_STRING} ^var=(.*)$ [NC]
и RewriteCond %{REQUEST_URI} ^/path/index.html [NC]
пред горните три правила и все още съм пренасочен към http://newhost.com/Page?pagename=form1000
. Размених реда на основните и разширените набори от правила и всички пренасочват към http://newhost.com/Page?pagename=form1000
.
Някакви идеи как мога да накарам тези набори от правила да работят? CentOS 6.x, Apache 2.2.
RewriteCond %{QUERY_STRING}
. - person Felipe Alameda A   schedule 13.04.2013RewriteCond %{QUERY_STRING} ^var=(.*) [NC]
със същия резултат. Обърнете внимание, че%1
не се използва в целевия URL адрес. - person KM.   schedule 13.04.2013