【问题标题】:URL rewriting in PHP Codeigniter.PHP Codeigniter 中的 URL 重写。
【发布时间】:2016-02-17 12:07:33
【问题描述】:

我是 PHP 新手,这段代码是传给我的,不是我写的。链接在代码中是这样定义的:

<a href="<?php echo ADMIN_URL;?>/schools/showschool/<?php echo $key;?>/"

所以如果我点击图标 Show School 它给我http://localhost/schools/showschool/21323/ 而不是http://localhost/admin.schools/schools/showschool/21323/

如果我手动添加admin.schools 或将代码编写为

<a href="<?php echo ADMIN_URL;?>admin.schools/schools/showschool/<?php echo $key;?>/"

它打开的 URL 很好。

我假设<?php echo ADMIN_URL;?> 在某处定义了ADMIN_URL 起作用。我在 config.php、route.php 或 .htaccess 文件中找不到它。

我是否在查找错误的文件?如果没有,并且它丢失了,那么我如何以及在哪里定义 ADMIN_URL

【问题讨论】:

  • 搜索语句define('ADMIN_URL'

标签: php mysql .htaccess codeigniter


【解决方案1】:

打开您的 SSH 终端(如 putty.exe)并运行以下命令

grep -R ADMIN_URL /var/www/html

/var/www/html 需要是您的服务器根文件夹。 然后终端将打印定义 ADMIN_URL 的位置,您可以从那里更改它,通常它在 constants.php 中定义

将语句更改为:

define('ADMIN_URL', '/admin.schools/');

【讨论】:

    【解决方案2】:

    你为什么不试试$_SERVER['SERVER_NAME'] 而不是ADMIN_URl

    你也可以使用$_SERVER['HTTP_REFERER']

    【讨论】:

      【解决方案3】:

      在 codeigniter 中使用 base_url() 获取根路径

      【讨论】:

        猜你喜欢
        • 2023-04-07
        • 2019-12-06
        • 1970-01-01
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多