Рейтинг:0

Переписывание динамических URL в конфиге nginx

флаг do

Я работаю над приложением PHP и перенес его с сервера apache на сервер nginx. У меня есть php-страница, которая динамически создает xml-файлы для карты сайта. Это отлично работает на сервере Apache, но когда я перешел на nginx, он не работает.

Это код, который я использую в апаче

Правило перезаписи ^([^/]+)\.xml/?$ sitemap.php?p=$1 [QSA,L]

Это код, который я использовал в nginx

переписать "^/([^/]+)\.xml/?$" /sitemap.php?p=$1 последним;

Это полный конфигурационный файл nginx.

Это то, что я использую для динамического создания xml-страниц (полный код не включен)

    <?php
require_once( './inc/header.inc.php' );
$connect = mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASS, DATABASE_NAME);
mysqli_set_charset($connect, "utf8");
header("Content-Type: application/xml; charset=utf-8");

echo '<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL;
// How many items to list per page
$limit = 10000;

if (!empty($_GET["p"])) { 
    $page = $_GET["p"];

    if ($page === "sitemap_core") {
        // Sitemap Core Page Starts
        echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'.PHP_EOL;

        $core_sitemap_url_arr = array('terms', 'join', 'login', 'blog/', 'about-us', 'sb', 'sm', 'msb');

        foreach ($core_sitemap_url_arr as $url) {
            echo '<url>'.PHP_EOL;
            echo '<loc>'.BX_DOL_URL_ROOT.$url.'</loc>'.PHP_EOL;
            echo '<lastmod>'.date('Y-m-d').'</lastmod>'.PHP_EOL;
            echo '<changefreq>daily</changefreq>'.PHP_EOL;
            echo '</url>'.PHP_EOL;
        }

        echo '</urlset>'.PHP_EOL;
        // Sitemap Core Page Ends
    }

}
else {
    header("Location:" .BX_DOL_URL_ROOT."404");
}
?>
флаг us
Что выводит `curl -v`, когда вы пытаетесь загрузить карту сайта? Каков точный URL-адрес запроса?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.