Intereting Posts
Файлы шаблона page.php и index.php меня путают WordPress Loop if / else pre_get_posts ИЛИ отношение между таксономией и автором Создайте плагин, который работает в фоновом режиме RSS-каналы и WordPress? Многоразовый код, который я могу хранить в функции.php и применять к другим шаблонам по мере необходимости. Сухой код Загружать родительские файлы тем перед дочерней темой functions.php изменить тему, когда на мобильном телефоне, а также на портретном представлении Ipad Загрузка дочернего шаблона на основе родительского Показать панель запуска WP только на первой странице Плагин на всем сайте, кроме основного Отображение постраничных объектов всегда будет показывать идентичный контент Как получить дату динамически с archive.php на date.php? Постоянная ссылка: пользовательский тип сообщения -> пользовательская таксономия -> сообщение Отключите панель администратора / проблему с отзывчивым меню

Переписать правила, не работающие в WordPress

Я пытаюсь добавить новые правила перезаписи с помощью API перезаписи:

add_rewrite_rule('product/([A-Z0-9]{10})', 'index.php/product/?asin=$1', 'bottom'); add_rewrite_rule('product/(([A-Za-z0-9_])*)', 'index.php/product/?product=$1', 'bottom'); add_rewrite_rule('compare/((([A-Z0-9]{10}),?)*)', 'index.php/compare/?asin=$1', 'bottom'); add_rewrite_rule('categories/(([A-Za-z0-9]|\-|\_)*)', 'index.php/categories/?subcategory=$1', 'bottom'); 

После обновления permalink он добавляет следующие строки в файл .htaccess :

 RewriteRule ^product/([A-Z0-9]{10}) /index.php/product/?asin=$1 [QSA,L] RewriteRule ^product/(([A-Za-z0-9_])*) /index.php/product/?product=$1 [QSA,L] RewriteRule ^compare/((([A-Z0-9]{10}),?)*) /index.php/compare/?asin=$1 [QSA,L] RewriteRule ^categories/(([A-Za-z0-9]|\-|\_)*) /index.php/categories/?subcategory=$1 [QSA,L] 

в результате чего следующий файл .htaccess :

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^product/([A-Z0-9]{10}) /index.php/product/?asin=$1 [QSA,L] RewriteRule ^product/(([A-Za-z0-9_])*) /index.php/product/?product=$1 [QSA,L] RewriteRule ^compare/((([A-Z0-9]{10}),?)*) /index.php/compare/?asin=$1 [QSA,L] RewriteRule ^categories/(([A-Za-z0-9]|\-|\_)*) /index.php/categories/?subcategory=$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

Но когда я попытался получить доступ к следующему URL-адресу:

 http://example.com/product/ABCDE324AB 

Кажется, это не работает. Я всегда получаю страницу, не найденную на странице. Есть идеи?

Solutions Collecting From Web of "Переписать правила, не работающие в WordPress"

Что я понимаю из вышесказанного, у вас есть файл .htaccess, а также правильный код, написанный в том же файле, но все еще получающий 404 вопрос. Позвольте мне рассказать вам, почему. Ваш сервер не разрешает файлу .htaccess читать или переопределять разрешения. Итак, как вы можете дать это разрешение? Откройте файл Apache httpd.conf для разрешения AllowOverride, вы можете увидеть его несколько раз. проверьте ниже комментарий в том же файле:

 # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None 

Просто замените AllowOverride None на AllowOverride All

Теперь перезапустите APACHE и он должен работать