0

サブドメインをクラスとして使用する必要があります。つまり、代わりに:

www.example.com/class/function/ID 例: www.example.com/town-name/history/1

私は欲しい

class.example.com/function/ID 例 町名.example.com/history/1

nginxでサブドメインをワイルドカード化しました。今、グーグルで読んでいます

http://codeigniter.com/user_guide/libraries/uri.html

http://codeigniter.com/user_guide/general/urls.html

http://codeigniter.com/user_guide/helpers/url_helper.html

しかし、何も関係ありません。別の町がデータベースに追加された場合に、その新しい町とその詳細が解決されるようにする必要があります。

書き換え、リダイレクトなどについて多くの議論を目にしますが、特にサブドメインの町名をクラス変数として使用する必要があります。可能であれば、アイデアの世界では両方を一緒に使用できますが、それが可能かどうかは疑問です。

ここ数年、普通の古いphpでうまくいきました。可能であれば、古い構造を台無しにすることなく codeigniter にアップグレードしたいと考えています (さらに、それには正当な理由があります)。

ありがとうございます。

4

1 に答える 1

1

あなたはそれを行うことができます。私は私のプロジェクトの1つのためにそれをやっています。

コントローラーのコンストラクターで、現在の URL を分解してサブドメインを取得し、それを変数としてメソッドに渡します。

public class Controller extends CI_Controller {

    $subdomain = null;

    public __construct() 
    {
        // explode url here and set $this->subdomain = the actual subdomain
    }

    public function index() 
    {
        if($this->subdomain == null) {
            show_404();
        } else {
            // do what you wish
        }
    }
}
于 2012-02-29T15:39:04.393 に答える