0

私は次の書き直しを持っています:

   RewriteRule ^api/(.*)?   api/api.php [QSA,L]  

したがって、URLがhttp://www.test.com/api/ ...の場合、apiフォルダー内のファイルapi.phpに再ルーティングされます。これは機能します。

ただし、URLがhttp://www.test.com/second_api/ ...の場合、apiフォルダー内のファイルsecond_api.phpに再ルーティングされるように別のルールを追加したいと思います。私はそれがうまくいかない。

      RewriteRule ^second_api/(.*)?   api/second_api.php [QSA,L]  
      RewriteRule (.*)/second_api/(.*)?   api/second_api.php [QSA,L] 
      RewriteRule ^/second_api/(.*)?   api/second_api.php [QSA,L]   

URLが間違っているか、api.phpに再ルーティングし続けます。新しく追加されたルールを使用してsecond_api.phpに再ルーティングしたいと思います。

4

1 に答える 1

1

チェックを追加する必要があります。そうしないと、最初のルールが再度適用されます。

RewriteCond %{REQUEST_URI} !second_api\.php
RewriteRule ^api/(.*)?   api/api.php [QSA,L]  

RewriteRule ^second_api/(.*)? api/second_api.php [QSA,L]  
于 2012-09-03T23:38:03.200 に答える