2016-04-12 27 views
0

私はcgi-binフォルダのcgiファイルに直接アクセスする必要があるcakePHP 3アプリを作っています。ですから、www.mysite.com/cgi-bin/myfile.cgiと入力すれば、出力を見ることができます。私が抱えている問題は、明らかに私にそれをアクセスさせない代わりにCgiBinコントローラを要求するルーティングにあります。私は書き換えルールを使用する方法があることを知っていますが、私はそれを理解することができませんでした。私はwebrootフォルダにcgi-binフォルダを置いてみましたが、www.mysite.com/cgi-bin/と入力するとフォルダインデックスが表示されますが、www.mysite.com/cgi-bin/myfileと入力すると.cgiは、欠けているコントローラのエラーを示します。cakePHP 3フォルダのcgi-binにアクセスする

どうすればよいですか? おかげ

答えて

1

CakePHPの3フォルダ/ファイル構造+ CGI

/www 
/bin/ 
/cgi-bin/ <----------------- 
/logs/ 
... 
/webroot/ 
.htaccess <------------ edit this file 

の.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^cgi-bin$ cgi-bin/ [L] 
    RewriteRule ^cgi-bin/(.*) cgi-bin/$1 [L] 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 
+0

それはうまく働いた、ありがとう。しかし、どのように私はcgi-bin内のサブフォルダでこの作業を行うことができますか?例えば、私はcgi-bin/templates /にアクセスできません。 –

+0

は、私は、このルールを試してみましたが、うまくいかなかったのcgi-binのフォルダ – Salines

+0

内に新しい.htaccessファイルやルールを追加します。 \tのRewriteRule ^テンプレート$テンプレート/ [L] \tのRewriteRuleに <のIfModule mod_rewrite.c> RewriteEngineを^テンプレート/(.*)テンプレート/ $ 1 [L] 何が最善の方法でしょうか? –

関連する問題