0

在开发模式下,我的 symfony admin/backend 应用程序可以通过http://localhost/backend_dev.php访问。对于生产模式,我创建了一个控制器 php 文件 admin.php,因此现在在生产中可以通过http://www.domain.com/admin.php访问管理应用程序。

我需要做什么才能允许在 domain.com/admin 或 admin.domain.com 上访问管理应用程序?

谢谢!

4

5 回答 5

2

您可以在该子域 (admin.domain.com) 上打开新的子域,并使用您的 symfony 应用程序设置指向服务器的虚拟主机。

您可以查看完整的教程 [这里][1]。

[1]:http ://blog.mirthlab.com/2008/03/04/dynamically-loading-symfony-applications-via-subdomains/这里

于 2009-09-16T12:42:32.547 回答
1

您可能最好将所有像管理员一样的东西放在 admin 目录中,但是您可以使用 mod_rewrite 作弊

RewriteRule ^admin/?$ admin.php [L]
于 2009-05-11T03:11:01.090 回答
0

以下是您可以做到的一些基本方法:

将admin.php转储到 www.domain.com 根目录中名为“ admin ”的文件夹中,并将admin.php重命名为index.php。(最简单的解决方案)

当然,这样你必须将 admin.php 中的所有相对链接调整为上一级(在所有相对url 的开头附加 '../' 应该有效),以及所有绝对链接以反映更改。

关于您的 admin.domain.com,您应该联系您的网络主机/域名提供商为您设置子域。


或者,如果您的虚拟主机允许 .htaccess 文件,您可以编写一个 mod_rewrite 规则。

于 2009-04-14T11:30:01.407 回答
0

我将创建一个名为 admin 的模块...然后大概是索引操作,我会将您拥有的任何内容放入您的 admin.php 文件中。

然后在您的 routing.yml 文件中,只需将 yourdomain.com/admin 指向 admin/index....这样您就可以将所有内容保存在 symfony 前端控制器中

安德鲁

于 2009-04-29T23:20:32.323 回答
0

确保您的 DNS 正确解析 admin.domain.com,然后在 /web 中编辑 .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为您自己的域。

于 2010-06-17T09:16:11.593 回答