質問: $ this-> baseurlはjoomlaでどこに定義されていますか? 私は最初にstackoverflow.comでこの質問をしました(質問 ここ )。コメントで、私がここでその質問をした方が良いだろうと読むことができます。私のjoomlaウェブサイトではecho $this->baseurl;を使用していますが、「/ index.php」を含むurlを返します。これを変更して、baseurlから "/index.php"を削除します。しかし、$this->baseurl;の定義行が見つかりません。私は this thread を見つけましたが、これは質問の所有者のテンプレートに基づいており、私のテンプレートにはこのようなものはありません。非常に感謝の提案:)
回答: _$this->baseurl;_は基本的にjuri::base()のショートカットです。 configuration.phpファイルの_live_site_変数として指定したurlを取得します。これに値がない場合、いくつかのphpいくつかの変数に基づく魔法を使用します。それでは、いくつかのテストを実行してみましょう。結果を報告してください:テスト1:_<?php echo 'rule 1: ' . juri::base() . '\n'; echo 'rule 2: ' . $_server['php_self'] . '\n'; echo 'rule 3: ' . $_server['request_uri'] . '\n'; echo 'rule 4: ' . $_server['script_name'] . '\n'; ?> _テスト2:_<?php echo juri::base(); echo juri::base(true); ?> _テスト3:グローバル設定(joomlaバックエンド)でrl rewritingをyesに設定してみてください。これが機能しない場合は、 このページのapacheセクション の手順1、2および5を読んでください。再試行。テスト4:テンプレートのindex.phpファイルの上部に、以下を追加します_<?php $this->baseurl = juri::base(); ?> _