By looking at other parts of your API, mainly the default API calls that are set, we can see that the rewrite-rules are working fine.
The problem is likely to reside in the model that is either selecting data from the mysql-query and puts it into the $this->data variable, or the problem resides between PHP and MySQL.
Whilst I can't give you a direct answer, I would suggest you look at the following:
- Make sure all the permissions are set properly by looking at: http://frapi.github.io/installing/index.html#frapi.installing.configuring.apache
- Print the results from the mysql query directly after having received it and use die() (yes, try print-and-die debugging),
- In your banned collection controller, try removing the MySQL query and put a mock variable to be returned. This will confirm whether or not the rewrite rules reach your controller,
- If the mock variable is returned properly after removing the SQL Query and its results, look at debugging the values returned by the SQL query and how you select relevant data from it.
If all fails, make sure you have logs on the apache side, and also look at the PHP error log. If you don't have php-error-logs enabled, add this to your php.ini:
error_log = /tmp/php_error_log
Now, this doesn't directly answer your question but hopefully it'll help you reach the answer you are looking for :-)