【问题标题】:Unable to access PhpMyAdmin when cakephp in installed in the server当 cakephp 安装在服务器中时无法访问 PhpMyAdmin
【发布时间】:2011-11-18 19:08:22
【问题描述】:

我正在尝试将我的代码从本地主机传输到实时域。服务器的目录是这样的:

-www.example.com
 --app
 --cake
 --vendors
 --plugins
 -- phpMyAdmin
 -- htaccess

由于 cakephp 处理 URL,当我尝试访问 www.example.com/phpMyAdmin 时,cakephp 抱怨“找不到 PhpmyAdminController”。我试图更改 app/webroot/htaccess 中的 htaccess 以允许 phpMyAdmin 的 url,但它不起作用。有人可以帮忙吗?

我按照以下网站上的教程进行操作:http://cakebaker.42dh.com/2006/08/17/take-over-the-control-of-some-urls-from-cakephp/。但是,我更改了 webroot 文件夹中的 htaccess,而不是主文件夹。

我真的希望有人能提供帮助。

【问题讨论】:

    标签: cakephp cakephp-1.3


    【解决方案1】:

    您可以将 phpMyAdmin 文件夹放在 app/webroot/ 中。使用相同的 url 访问(末尾带有斜杠)www.example.com/phpMyAdmin/

    【讨论】:

    • 这可行,但它会在 Webroot 中复制大约 17MB 的数据。
    • 您可以从您的 webroot 文件夹符号链接到 phpmyadmin 的当前路径,而不是复制“17MB 的数据”。命令:cd /path/to/cake/php/app/webrootln -s /path/to/phpmyadmin
    【解决方案2】:

    您可以通过修改位于 app 文件夹外的 .htaccess 文件来实现。 请试试这个。我正在使用这个特定的代码,它对我有用。

    <IfModule mod_rewrite.c>
        RewriteEngine on
        Rewriterule ^phpmyadmin/.*$ - [PT]
        RewriteRule  ^$ app/webroot/    [L]
        RewriteRule  (.*) app/webroot/$1 [L]
    </IfModule> 
    

    现在您将能够运行像这样的目录http://example.com/phpmyadmin

    【讨论】:

    • 谢谢。它对我有用。我正在使用 cake3。我将上面的代码用于 htaccess,它不在 webroot 内部。
    【解决方案3】:

    我想我已经设法找到了答案,而无需复制 phpmyadmin 的最佳方法是:

    <IfModule mod_rewrite.c>
       RewriteEngine on
       rewritecond %{REQUEST_URI} ^/(phpMyAdmin)/
       RewriteRule .* - [S=2] 
       RewriteRule    ^$ app/webroot/    [L]
       RewriteRule    (.*) app/webroot/$1 [L]
    </IfModule>
    

    上面的htaccess必须改在cake的根目录下,而不是webroot下。我不想把功劳归于以下网址的论坛参与者:

    http://cakephp.1045679.n5.nabble.com/Routing-to-an-external-application-td1274772.html

    【讨论】:

      猜你喜欢
      • 2013-09-03
      • 2014-01-16
      • 2013-03-17
      • 1970-01-01
      • 2020-12-05
      • 2016-11-16
      • 2022-08-20
      • 1970-01-01
      • 2017-05-13
      相关资源
      最近更新 更多