0

PHP と CodeIgniter は初めてで、CodeIgniter アプリで静的ページのルーティングを設定するのに問題があります。

フッターにAbout Us | Contact Us | Privacy Policyと他の多くのページがあり、ユーザーがクリックすると、次のような URL に移動する必要があります mysite.com\about mysite.com\contact mysite.com\privacy

あなたは要点を得る..

ビューフォルダーのフッターdivで行ったことは次のとおりです

<a href="home/staticpages/about">About</a> |
<a href="home/staticpages/contact"> Contact Us</a> | 
<a href="home/staticpages">Privacy</a> | 
<a href="home/staticpages">Terms of Use </a>

これがコントローラーの関数ですHome

public function staticpages($page)
    {

        if ( ! file_exists(APPPATH.'application/views/'.$page.'.html'))
        {
            // Whoops, we don't have a page for that!
            show_404();
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        $this->load->view($page, $data);

   }

静的ページは純粋な HTML コンテンツであり、<p>フィールドがあり、動的または JavaScript のものはありません。だから私はそれらを.htmlとして保存しました。contact.html、about.html など。contentbodyこれらのページのコンテンツを、ヘッダーとフッターの間に作成した div にロードしたいだけです。それは、ユーザーがクリックしたものに対してサイト全体で変更される唯一のものです。

私が行ったときhttp://localhost/myapp/home/staticpages/about

私は得る

404 Not Found error The requested URL /dissekted/home/staticpages/about was not found on this server.

そして、それはブラウザがスローするものです。

4

3 に答える 3

3

ベース URL を設定する

$config['base_url'] = 

ヘルパーをロードする

最初の方法

   $this->load->helper('url');

または2番目の方法は、application/config/autoload.phpを変更して自動ロードします

で使用

$this->config->base_url();

ベースURLを取得しているかどうかをエコーで最初に確認します

<?php echo base_url(); ?>

静的リンクで使用します

<a href="<?php echo base_url(); ?>/static_file "  />static link</a>

わかりましたこれをコントローラー関数の中に入れてください

public function static ()
    { 

    $this->load->view('static.html');
}
于 2013-09-05T04:08:03.790 に答える
0

構成ファイルでベース URL を確認/し、パスに最終 URL があることを確認します。

$config['base_url'] = 'http://localhost/myapp/'

また、anchor()URL ヘルパーの関数を使用してリンクを作成します。

これにより、リンクが正しく形成され、ベース URL が考慮されます。

于 2013-09-04T17:41:26.150 に答える
0
create privacy.php in view folder and use below code to display it.


$this->load->view('page_name'); no need to use extension like static.php.

function privacy() {`enter code here`
        $data['meta_title'] = 'Privacy Policy';
        $data['title'] = 'Privacy Policy';
        $data['main'] = 'root/privacy';
        $this->load->vars($data);
        $this->load->view($this->template or page_name);
}
于 2013-09-05T12:06:42.353 に答える