在配置Restler它建議創建以下重寫規則:的RewriteCond:未知標誌「QSA」
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
我在REST目錄的根把這個變成一個.htaccess文件,但我發現此規則正在觸發時出現500服務器錯誤。該錯誤消息Apache的錯誤日誌:
[Wed Oct 10 10:39:30 2012] [alert] [client 127.0.0.1] /public/api/.htaccess: RewriteCond: unknown flag 'QSA'
[Wed Oct 10 10:39:30 2012] [error] [client 127.0.0.1] File does not exist: /public/favicon.ico
我認爲缺少favicon.ico的文件可以忽略不計,但我關心的「未知標誌「QSA」錯誤。我對重寫規則知之甚少,所以任何幫助都會受到讚賞。
對於那些熟悉Restler的人,我使用的是3.0.0rc2(如果有的話)。另外值得指出的是,使用顯式調用index.php的作用非常大,因爲我得到了一個404 JSON錯誤響應(一個積極的改進),但如上所述,如果我依賴於重寫規則,那麼我只會得到一個500服務器錯誤:
http://localhost/api/index.php/say/hi - WORKS (gives JSON 404 error)
http://locahost/api/say/hi - 500 SERVER ERROR