eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Пагинация работает на локалхост (MAMP) и выдает 404 на Reg.ru

Добрый день!

Может кто-то сталкивался с подобной проблемой: на странице новостей не работает пагинация на сайте, который хостится на рег.ру. При этом при абсолютно тех же версиях вордпресса и настройках все прекрасно работает на локалхост. Есть сертификат, есть https. Больше никакой разницы не вижу. Поймать баг никак не получается sad

0
Meihem
1.6 года назад
  • 3
    Dan Zakirov 721 air-wp.com

    Попробуйте пермалинки обновить в настройках тут /wp-admin/options-permalink.php , может оно заработает)

    meihem 1.6 года назад

    Увы, не помогло sad Там ссылка типа сайт/новости/page/2/

    Dan Zakirov 1.6 года назад

    А попробуйте логи посмотреть на хосте и пыху проверьте версию. И пагинация как у вас выводится?

    meihem 1.6 года назад

    На МАМПЕ 8.0.1, на сервере 5.4.16. Думаете в этом дело? Пагинация стандартно:

    <?php
    /*
    Template Name: Home
    */
    ?>
    
    <?php get_header(); ?>
    
    <main class='container'>
    	<h2>Новости</h2>
    	<?php
    	$paged = get_query_var('paged') ? get_query_var('paged') : 1;
    	$query = new WP_Query([
    		'posts_per_page' => 10,
    		'category_name' => 'blog',
    		'paged' => $paged,
    	]);
    	?>
    
    	<?php if ($query->have_posts()): ?>
    
    	<?php while ($query->have_posts()):
    		$query->the_post(); ?>
    
    		<div class='blog-posts'>
    			<h4><?php the_title(); ?></h4>
    
    			<?php the_excerpt(); ?>
    
    			<div class='posts-footer'>
    				<a href="<?php the_permalink(); ?>" title="Перейти">Читать дальше</a>
    				<span><?php echo get_the_date(); ?></span>
    			</div>
    		</div>
    
    	<?php
    	endwhile; ?>
    
    	<div class="posts-pagination">
    		<?php echo paginate_links([
    			'base' => str_replace(
    				999999999,
    				'%#%',
    				esc_url(get_pagenum_link(999999999))
    			),
    			'total' => $query->max_num_pages,
    			'current' => max(1, get_query_var('paged')),
    			'format' => '?paged=%#%',
    			'show_all' => false,
    			'type' => 'plain',
    			'end_size' => 2,
    			'mid_size' => 1,
    			'prev_next' => true,
    			'prev_text' => sprintf('<i></i> %1$s', __('Назад', 'text-domain')),
    			'next_text' => sprintf('%1$s <i></i>', __('Дальше', 'text-domain')),
    			'add_args' => false,
    			'add_fragment' => '',
    		]); ?>
    	</div>
    
    	<?php wp_reset_postdata(); ?>
    	<?php else: ?>
    		<p><?php _e(
    			'К сожалению, ни один из постов не подошел под ваши критерии.'
    		); ?></p>
    	<?php endif; ?>
    </main>
    
    <?php get_footer(); ?>
    
    Dan Zakirov 1.6 года назад

    Вроде все правильно, но я бы проверил настройки пермалинков в админке и должен быть выбран определенный формат ссылок, он должен быть совместим с вашим шаблоном пагинации.

    Также попробуйте изменить формат ссылок пагинации в параметре 'format' вашего кода. Для этого измените ?paged=%#% на &paged=%#%, тоже может помочь

    Еще я на бегете, когда то давно сталкивался с подобным и приходилось изменять параметры в .htaccess чтобы включить модуль перезаписи URL-адресов

    BEGIN WordPress
    
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
    # END WordPress
    meihem 1.6 года назад

    Простите за долгую паузу. Попробовал - не помогло sad

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация