私は1つのWebサイトを持っていますが、それは/ home4/username/public_html/mainにあるwww.main.comというサーバーにあります。このサイトではPhalcon PHPが全く問題なく動作しています。Phalcon PHPがサブドメイン用にルーティングされていない
私はサブドメインを作りました。これをtest.main.comと名付けて、cPanelを使用してサブドメインのルートを/ home4/username/testsite/testに設定しました。これが問題の原因です。
/public_htmlの及び/テストサイトの両方が、次を含む、独自の.htaccessファイルを持っている:
テストサイト:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ test/public/ [L]
RewriteRule ((?s).*) test/public/$1 [L]
</IfModule>
メインサイト:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ main/public/ [L]
RewriteRule ((?s).*) main/public/$1 [L]
</IfModule>
、ローカルテストサイトをテストしますXAMPPを使ってうまく動作します(現在、非常に単純なPhalconのテストページです)。私は、サーバーphalconエラーのために正確に同じサイトをアップロードするときしかし: PhalconException: IndexController handler class cannot be loaded
(非稼働)テストサブドメインのサイトのディスパッチindex.phpファイルには、次のものが含まれています
今、この<?php
try {
//Register an autoloader
$loader = new \Phalcon\Loader();
$loader->registerDirs(array(
'../app/controllers/',
'../app/models/'
))->register();
//Create a DI
$di = new Phalcon\DI\FactoryDefault();
//Setup the view component
$di->set('view', function(){
$view = new \Phalcon\Mvc\View();
$view->setViewsDir('../app/views/');
return $view;
});
//Setup a base URI
$di->set('url', function(){
$url = new \Phalcon\Mvc\Url();
$url->setBaseUri('/test/');
return $url;
});
//Handle the request
$application = new \Phalcon\Mvc\Application($di);
echo $application->handle()->getContent();
} catch(\Phalcon\Exception $e) {
echo "PhalconException: ", $e->getMessage();
echo "<br /><br /><strong>Trace Stack</strong>: ", $e->getTraceAsString();
}
私が言ったように、Phalconプロジェクトが間違っている理由はコードが賢明でない、それがローカルでうまくいくので、困惑している。だから、私が考えることができるのは、サブドメインのルーティングがどうにかなってしまうということだけですが、どうやって修正するのか分かりません。
'/ home4/username/testsite/test/public/php_info.php'をコード' 'を実行して、apacheがそれを取得するかどうかを確認します。 –
Tpojka
@Tpojka私はそれをしました。そして、そのサイトのURL: 'test.main.com/php_info.php'に移動すると、php infoページが正常に表示されます。 – Jakob
「RewriteBase」問題である可能性があります。私はあなたが '.htaccess'ファイルにそれを含めなかったのを見ましたが、私たちが知っているもの(main)からのものだけがApacheでデフォルトで設定されています。それを使って何かを試してみてください。 – Tpojka