Динамическая загрузка страниц в браузере, возвращает 404 для завивки и GWT

Я создал динамическую страницу, на которой отображается контент на основе имени государства США, взятого из URL-адреса. Я создал страницу в WP с названием «CDL Manual PDF» и имеет URL http://dev.cdlmanuals.com/cdl-manual-pdf/ . Эта страница загружается штрафом с 200 статусом. Когда я добавляю имя состояния в URL-адрес, например http://dev.cdlmanuals.com/cdl-manual-pdf/texas , страница загружается как ожидается в браузере, отображая правильный контент для штата Техас. Однако сервер возвращает код состояния 404, что явно неверно.

Содержимое страницы WP пусто. Я использую следующий код в functions.php моей дочерней темы, чтобы загрузить правильный шаблон страницы, page-cdl-manual-pdf.php. Шаблон выполняет работу по подготовке контента, специфичного для конкретного штата.

function bigleaf_cdl_url_state_check() { if (preg_match('/'.BL_CDL_MANUAL_PAGE.'/', $_SERVER['REQUEST_URI'])) { global $wp_query, $wpdb, $jp_state; $uri=explode('/', $_SERVER['REQUEST_URI']); if ($uri[2]!='') { $jp_state=$uri[2]; } else { $jp_state='colorado'; } $wp_query->is_page=1; $wp_query->is_404=false; $wp_query->is_singular=1; $wp_query->post_count=1; $wp_query->found_posts=1; $wp_query->query_vars['attachment']=''; $wp_query->query_vars['name']=BL_CDL_MANUAL_PAGE; $wp_query->query_vars['pagename']=BL_CDL_MANUAL_PAGE; $jp_qry='SELECT * FROM '.$wpdb->posts.' '. 'WHERE post_name="'.BL_CDL_MANUAL_PAGE.'" '. 'AND post_type="page" ORDER BY post_date DESC '; $wp_query->request=$jp_qry; } }// end bigleaf_cdl_url_state_check add_filter('template_redirect', 'bigleaf_cdl_url_state_check'); 

Файл htaccess является стандартным, созданным WP. У меня нет пользовательских правил в этом файле.

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

Я обнаружил эту проблему, когда увидел, что GWT (Google Webmaster Tools) сообщает о 404 ошибках для страниц, которые, как я знал, работают. Когда я ворвался в проблему, я обнаружил, что могу реплицировать ответ 404 с помощью CURL. Позже я увидел тот же ответ в представлении инструментов разработчика Chrome.

Почему сервер возвращает код состояния 404, когда страница загружается идеально и как я могу ее исправить?

Solutions Collecting From Web of "Динамическая загрузка страниц в браузере, возвращает 404 для завивки и GWT"