2016-04-26 53 views
0

我试图重定向重定向URL(包括端口)使用的.htaccess

http://www.example.com:81/my/php/api.php?query=test 

使用

RewriteCond %{QUERY_STRING} ^query=(.*)$ 
RewriteRule ^api/search(.*)$ /php/api.php?%1 [L] 

但是从

http://www.example.com:81/my/api/search?query=test 

到PARAMS,这是行不通的为了我。另外为了测试htaccess规则,我使用了http://htaccess.madewithlove.be/

甚至可能更好。将检查是否要求从^ API开始,这是GET类型(我猜使用RewriteCond %{REQUEST_METHOD})然后重定向到/my/php/api.php?[query这里PARAMS]

谁都可以将我指向正确的方向?

+0

这可能会帮助您http://stackoverflow.com/a/16389034/4790490 – Hearty

+0

您的.htaccess位于何处? – anubhava

+0

我的.htaccess位于项目的根文件夹。 –

回答

1

如果你的.htaccess位于/my/目录,那么你可以使用:

RewriteEngine On 
RewriteBase /my/ 

RewriteCond %{QUERY_STRING} ^query=. 
RewriteRule ^api/search/?$ php/api.php [L] 

QUERY_STRING将自动结转到目标URL。

+1

谢谢。这对我行得通。 –

+0

很高兴知道它解决了问题,[您可以在答案的左上角点击**勾号**标记答案](http://meta.stackexchange.com/a/5235/160242) – anubhava