Intereting Posts
Feedburner больше не работает Как планировать категории? Настройка настраиваемого подкаталога для блога без использования страниц? Могу ли я загрузить текстовое поле до активации плагина? Как я должен подходить к изменению шаблона & $ query в рамках выполнения короткого кода? Почему каждый подключает add_rewrite_rule для init Отключить автоматическую привязку Получение связанных таксономий Поделитесь одной таксономией в нескольких блогах в 3.0 Гравитационные формы – Повторяющееся поле «Загрузка файлов» с использованием фильтра «gform_column_input_content» Смешивание вкладок Foundation с вкладкой Active Directory в WordPress и дисплеем Типы пользовательских сообщений с использованием сообщений категории Передача массива в add_option () Вызовите пользовательское поле в коротком кодексе? Как отображать термины из пользовательской таксономии в иерархии И с пользовательской разметкой html?

Переписать правила, не работающие в 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 и он должен работать