Как перенаправить URL-адрес, сохраненный в базе данных, на http или https - PullRequest
0 голосов
/ 06 июля 2019

У меня есть веб-сайт игрового сообщества, с которым связаны некоторые сторонние инструменты (такие как калькуляторы ресурсов, карты рейдов и т. Д.), Которые я разрабатываю.

В моей базе данных есть таблица, котораяхранит эти сайты с названием сайта, игрой, для которой он предназначен, необработанной ссылкой (без http / https) и его статусом (онлайн, офлайн, обслуживание).

Как мне выполнить выполнениемой текущий код, чтобы также проверить, использует ли целевой URL http или https, и затем перенаправить соответственно?У меня нет этого набора в базе данных, так как иногда срок действия сертификатов истекает до их обновления.

Я даже не уверен, с чего начать.Я знаю, что в PHP есть функция get_header, но не уверен, как правильно использовать ее для моих целей, если это даже правильная функция.

Я искал в Google, и все результаты, которые я получаю,чтобы узнать, является ли целью http или https для сайта в том же окне, что не так.

<?php

$result = $db->query('SELECT * FROM glist LIMIT 10');

        if(is_object($result) && $result->num_rows > 0)
        {
            while($row = $result->fetch_array())
            {
                echo '<tr>';

                echo '<td>'.$row['gname'].'</td>';
                echo '<td>'.$row['game'].'</td>';

                if($row['stat'] == 'Online')
                {
                    echo '<td align="center"><img src="img/online.png" alt="Online" width="42" /></td>';
                }
                else if($row['stat'] == 'Maint')
                {
                    echo '<td align="center"><img src="img/maint.png" alt="Maintenance" width="42" /></td>';
                }
                else
                {
                    echo '<td align="center"><img src="img/offline.png" alt="Offline" width="42" /></td>';
                }

                echo '<td align="center"><a href="http://'.$row['link'].'" target="_blank"';

                if($row['stat'] == 'Maint' || $row['stat'] == 'Offline')
                {
                    echo 'style="pointer-events:none;"';
                }

                echo '><img src="img/link.png" alt="'.$row['gname'].'" /></a></td>';

                echo '</tr>';
            }
        }
        else
        {
            echo '<tr><td colspan="4"><p class="notice">No sites are currently available.</p></td></tr>';
        }

?>

Когда цикл while выполняется для каждой записи, он должен определить, начинается ли целевой URL с httpили https, и создайте соответствующую ссылку.

Прямо сейчас я должен вручную сказать ему, чтобы он выполнял одно или другое (либо в цикле while, либо в самой базе данных), что станет очень утомительным и временным.потребляя по мере роста нашего сообщества.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...