2009-04-14 15 views
0

開発モードでは、私のsymfony管理/バックエンドアプリケーションはhttp://localhost/backend_dev.phpにアクセスできます。プロダクションモードでは、コントローラのphpファイルadmin.phpを作成しました。そのため、運用アプリケーションではhttp://www.domain.com/admin.phpにアクセスできます。symfony:管理者用URLのオプション

adminアプリにdomain.com/adminまたはadmin.domain.comでアクセスするにはどうすればよいですか?

ありがとうございました!ここで

答えて

0

は、あなたがそれを行うことができますいくつかの基本的な方法があります。

www.domain.comのルートに「管理」と呼ばれるフォルダにadmin.phpをダンプし、admin.phpの名前を変更のどちらか~index.php。 (最も簡単な解決策)もちろん

、あなたにも、(すべての相対 URLの先頭に「../」を追加すると、動作するはずです)1つの上のレベルアップにadmin.php内のすべての相対リンクを調整する必要があり、このようすべての絶対的なリンクとして変更を反映する。

admin.domain.comについては、ウェブホスト/ドメイン名プロバイダに連絡してサブドメインを設定する必要があります。


またはあなたのウェブホストは、.htaccessファイルを許可する場合は、mod_rewriteのルールを書くことができます。

+0

大きなアプリでは、このアプローチは失敗することになります(彼は自分の傷跡を見ています)。相対URLと絶対URLが必要な場所に確実に移動するようにするにはメンテナンスが必要です。 – dland

0

私は、adminというモジュールを作成します。おそらく、あなたがadmin.phpファイルに持っていたものを置くインデックスアクションの中にあります。

その後、あなたのrouting.ymlファイルの中だけで管理者/インデックスにyourdomain.com/admin指して....そのようにあなたはsymfonyのフロントコントローラ内

をすべてを保つアンドリュー

1

あなたは、おそらく優れています管理者adminディレクトリのようにすべてのものを置くオフ、しかし、あなたはあなたのsymfonyでサーバーをポイントするサブドメイン(admin.domain.com)の設定、仮想ホスト上で新しいサブドメインのANを開くことができますmod_rewriteを

RewriteRule ^admin/?$ admin.php [L] 
0

あなたのDNSが正しくadmin.domain.comを解決し、そして/ウェブでの編集の.htaccessのmod_rewriteがあなたのサブドメインにピックアップしており、admin.phpに要求を書き換えるようにしてください。必要に応じて、admin.phpの名前をあまり明白でない名前に変更するか、内部で簡単にサブドメインのチェックを行うか、誰でもdomain.com/admin.phpにアクセスする場合は301リダイレクトを使用してリライトを拡張します。

次の簡単な.htaccessファイルは、私の作品:

Options +FollowSymLinks +ExecCGI 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # The admin subdomain returns the backend 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{HTTP_HOST} ^admin\.domain\..* 
    RewriteRule ^(.*)$ admin.php [QSA,L] 

    # Check if the .html version is here (caching) 
    RewriteRule ^$ index.html [QSA] 
    RewriteRule ^([^.]+)$ $1.html [QSA] 
    RewriteCond %{REQUEST_FILENAME} !-f 

    # No?, so we redirect to our front web controller 
    RewriteRule ^(.*)$ index.php [QSA,L] 
</IfModule> 

変更domain独自のドメインに。