Перенаправить все сообщения с помощью URL .html в .html

Как я могу перенаправить все постоянные ссылки на .html в WordPress? теперь все мои сообщения url заканчиваются на .html, но до этого не было .html

чтобы быть более ясным, например, почтовый URL-адрес, такой как этот www.example.com/posturl, должен быть перенаправлен на www.example.com/posturl.html .it просто перенаправить их один за другим, но мне нужно правило для перенаправления всех сообщений.

спасибо

Solutions Collecting From Web of "Перенаправить все сообщения с помощью URL .html в .html"

Вы можете напрямую редактировать свой .htaccess или загружать плагин редактора htaccess для WordPress. Затем напишите свое правило, подобное этому:

 Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*) $1.html [nc] 

Более подробные инструкции

Вы можете добавить расширение на свои постоянные ссылки в WordPress Admin, перейдя в « Settings > Permalinks и создав пользовательскую структуру с помощью .html в конце.

Например:

 (•) Custom Structure: /%category%/%postname%.html 

Однако это будет работать только с сообщениями. Если вы хотите добавить .html к постоянным ссылкам Pages, вы можете попробовать плагин, например, Custom Page Extensions или использовать правило .htaccess, размещенное Bitmap.

Существует риск использования подхода .htaccess. Он должен писать конкретные правила для таргетинга только постов. Не все URL-адреса на сервере.

Это другой подход. Работает в WordPress, является «своего рода» более безопасным, но немного повышает уровень налогообложения, поскольку ему необходимо загрузить плагины, прежде чем он начнет. Теория проста. Перенаправлять любой URL, не содержащий. в последнем сегменте, как / uri или / uri / to /uri.htmlТОЛЬКО ЕСЛИ WordPress сигнализирует ошибку is_404 () .

Поместите этот плагин в /wp-content/mu-plugins/redirector.php .

 // Only here we have a valid is_404() to check if occurs. add_action('wp', function(){ if(!is_404()) return; // Bail if not a 404 (WordPress has got your back) // Extract the URI and the Query-String (which is used later again) list($uri, $qs) = explode('?', $_SERVER['REQUEST_URI']); // Bail if current URL contains a . in the last segment of the URI if(!preg_match('~/[^/\.]+/?$~', $uri)) return; // Right-trim the last ./ and append the .html to it $uri = rtrim($uri, '/.').".html".(!empty($qs) ? "?{$qs}" : null); // Redirect to the new URL (with a 301 to keep link juice flowing) and hope it works :) wp_redirect($uri, 301); die; // Over and out! }); 

Я предпочитаю переадресацию .htaccess в любое время, но это зависит. Если вы действительно испортили свой блог, изменив структуру permalink LIVE (которая никогда не должна выполняться при достижении определенного трафика / ранжирования) , это более безопасный метод, поскольку он действует только при возникновении is_404 (). Точная настройка, если у вас есть проблемы с категориями и т. Д.

Внимание : используется PHP 5.3+ Closure. Подумайте о возврате к синтаксису и совместимости PHP 5.2 … задание 🙂

Вы указали, что делаете это для целей SEO.

На данный момент нет никаких доказательств того, что добавление .html в конец URL-адреса улучшит Google SEO и, по вашему собственному признанию, Google индексирует URL-адреса, не содержащие HTML.

Более того, расширение .html подразумевает, что контент статичен и никогда не изменится, что означает, что Google может индексировать его один раз и никогда не возвращать. Не было бы лучше, если Google вернется? Особенно учитывая, что «свежесть» страницы сейчас играет большую роль в том, насколько высок ее рейтинг.