1

設定

ファイル構造を次のように設定しています。

/root
   | 
   /api
      | 
      /Slim PHP framework
      index.php
   | 
   index.php

Slim ディレクトリのindex.php内部にはJSON、データベースからデータを取得するために必要なルートが含まれていMongoます。例えば

$app->get('/users(/:id)', function($id = null) use ($app, $collection) {
     /* Do mongo search and echo json_encoded data back */
});

次を.htaccess含むファイルがあります。これにより.php、ルートの下のファイルから拡張子が削除されます。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php`

質問

JSONurl: を使用してデータにアクセスできますhttp://localhost:8888/root/api/index.php/users。ただし、私がやりたいのは、URLを使用してデータにアクセスすることです:http://localhost:8888/root/api/users

4

3 に答える 3

0

注意すべきことの 1 つは、ルールの順序も重要であるため、http://example.com/usersとhttp://example.com/users/http://example.com/に書き換え/リダイレクトする必要がある場合です。 userinfo/と同時にhttp://example.com/users/unamehttp://example.com/scripts/script.php?id=unameに書き換えている場合、これは機能するはずです: RewriteEngine on

RewriteEngine on 
RewriteRule ^users/$ /userinfo/ [L]
RewriteRule ^users/(.*)$ /scripts/script.php?id=$1 [L]
RewriteRule ^users$ /userinfo/ [L]

1行少ないより良い解決策があるかもしれませんが、これは私にとってはうまくいきます。

于 2016-11-09T16:04:01.650 に答える