Редирект 301 в php коде с html/ на html без слеш

228
26 января 2018, 23:43

Есть код в котором генериться ссылка.html, но она также доступна как ссылка.html/ Помогите сделать редирект 301 прямо в этом коде:

                $check_str = $message['id'].'-'.cpu(stripslashes($message['title'])).'.html';
            if($check_str != $message_id_str || count($_GET['cat']) != 2)
                {
                redirect301($path.'messages/'.$check_str);
                exit();
                }
Answer 1

Проверяйте на наличие слеша в конце ссылки и если он есть тогда делайте редирект

$url_parts = parse_url($_SERVER['REQUEST_URI']);
if (substr($url_parts['path'], -1) === '/') {
    $redirect_url = $url_parts['path'];
    if (!empty($url_parts['query'])) {
         $redirect_url .= '?' . $url_parts['query']
    }
    redirect301($redirect_url);
    exit();
}
Answer 2

Это просто, используйте HEADER, вот документация

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: ".$path.'messages/'.$check_str); 
exit();
READ ALSO
Синтаксис С++ (pair)

Синтаксис С++ (pair)

Маленький вопрос: как можно объявить двумерный pair-массив n на n?

271
использование vector с библиотекой boost

использование vector с библиотекой boost

Ребят пытаюсь подключить библиотеку boost и использовать вместе с векторомВыглядит примерно так:

230
Перегрузить операцию ввода для типа vector

Перегрузить операцию ввода для типа vector

Подскажите как правильно нужно перегрузить операцию ввода для записи в файл

228
Обнулить указатель класса обертки

Обнулить указатель класса обертки

Как обнулить в классе обертке указательКроме примера показанного в коде ниже

260