2016-08-24 24 views
1

私は2つの条件があります。リダイレクトURLだけでなく、変更クエリ文字列のApache

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

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

書き換えを

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

リダイレクトは/私が第一の場合ではなく、第2のケースで適切な応答を取得しています

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:// localhost/restexample/12345'ですが、このルールは' http:// localhost/restexample/api?number = 1234 5' – anubhava

関連する問題