次のようなすべてのリクエストをリダイレクトしたい:
/xml/doSomething?arg=value
に:
/xml.php?action=doSomething&arg=value
私はこの単純なルールを試しました:
RewriteEngine
RewriteBase /
RewriteRule ^xml/([^/]+)[/]? xml.php?action=$1 [R=302,L,QSA]
しかし、それは機能しません。はparamのみxml.php
で実行されます。arg=value
問題はxml.php
、私のルールの最初の部分として、という名前のファイルがあることです。実際、ルールを次のように変更すると、次のようになります。
RewriteRule ^asd/([^/]+)[/]? xml.php?action=$1 [R=302,L,QSA]
そして私は指摘します:
/asd/doSomething?arg=value
私は正しくリダイレクトされます:
/xml.php?action=doSomething&arg=value
書き換えパターンの最初の部分として名前が付けられたPHPファイルの存在は、どのようにしてすべてを壊すことができますか?