4

これは私の現在の.htaccessです:

Options +FollowSymLinks +SymLinksIfOwnerMatch
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]

私の設定ファイル:

$config['base_url'] = 'http://localhost/argh/';
$config['index_page'] = '';

たとえば、about us リンクをクリックすると、次のように表示されます。

http://localhost/argh//about

(argh と about の間の 2 つのスラッシュ)

なにか提案を?: )

編集:

確かではありませんが、これは Codeigniter の問題のように見えます。

function site_url($uri = '')
{
    if ($uri == '')
    {
        return $this->slash_item('base_url').$this->item('index_page');
    }

    if ($this->item('enable_query_strings') == FALSE)
    {
        $suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');
        return $this->slash_item('base_url').$this->slash_item('index_page').$this->_uri_string($uri).$suffix;
    }
    else
    {
        return $this->slash_item('base_url').$this->item('index_page').'?'.$this->_uri_string($uri);
    }
}

より正確にはここ:

return $this->slash_item('base_url').$this->item('index_page');

次の場合に base_url を返します。

$config['index_page'] = '';

そのため、前の例は次のように終了します。

http://localhost/argh//about
4

5 に答える 5

2

あなたが書いていないことを確認してください:

base_url().'/about'

クエリで - base_url() は構成ファイルの / を使用します

また、2 番目の を削除します。この行から:

RewriteRule ^(.*)$ ./index.php/$1 [L]

読むために:

RewriteRule ^(.*)$ /index.php/$1 [L]
于 2013-02-04T22:53:54.543 に答える
0

システムでこれを変更 -> url_helper.php ファイル

rtrim($CI->config->site_url($uri),'/');
于 2014-02-10T15:04:16.713 に答える
0

これを .htaccess ファイルで使用します

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

これをベース URL に使用します

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/argh';

パスをフォームアクションとして使用する

<form method="post" action="<?php echo base_url();?>Your_Controller_Name">;

href にはこれを使用します

<a href="<?php echo site_url("Controller_Name/Action_name"); ?>">About Us</a>
于 2013-02-15T07:21:17.170 に答える
0

この作品

<a href="<?php echo site_url('Controller_Name') ?>" </a> change to <a href="#" onclick="window.location='<?php echo site_url('Controller_Name'); ?>'"></a>

于 2022-02-08T06:04:47.637 に答える