2016-08-24 44 views
1

我有两个条件:重定向URL以及更改查询字符串的Apache

http://localhost/restexample/api/con/2/

重写到

http://localhost/restexample/RestController.php?phone=single&id=2

http://localhost/restexample/api?number=12345

重定向/重写为

http://localhost/restexample/RestController.php?phone=all&no=12345

我得到的第一种情况作出适当的反应,但不是在第二种情况下。

我的.htaccess文件是:

# Turn rewrite engine on 
Options +FollowSymlinks 
RewriteEngine on 

# map neat URL to internal URL 
RewriteRule api/con/([0-9]+)/$ "RestController.php?phone=single&id=$1" [nc,qsa] 

RewriteCond %{QUERY_STRING} number=(\d+)$  
RewriteRule "^api" "RestController.php?phone=all&no=%1" [nc,qsa,R=301] 

有人请帮助。

输出第二个文件:

enter image description here

回答

1

尝试下列规则:

Options +FollowSymlinks 
RewriteEngine on 

# map neat URL to internal URL 
RewriteRule ^api/con/([0-9]+)/?$ RestController.php?phone=single&id=$1 [NC,L,QSA] 

RewriteCond %{QUERY_STRING} (?:^|&)number=(\d+)$ 
RewriteRule ^api/?$ RestController.php?phone=all&no=%1 [NC,L] 
+0

都能跟得上。相同的错误 –

+0

403错误。它位于xampp/htdocs/restexample。见图片。地址栏中的地址。在图像中显示 –

+0

URL是'的http://本地主机/ restexample/12345'但这规则是用于'HTTP://本地主机/ restexample/API数= 1234 5' – anubhava

相关问题