Файл Wordpress htaccess приводит к тому, что новые файлы и папки показывают ошибку 404?

В моем файле htaccess есть следующий код, связанный с wordpress.

# 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>

Я создал новую папку с именем test, и когда я пытаюсь получить к ней доступ из браузера, появляется ошибка 404.

когда я удаляю приведенный выше код из файла htaccess, я могу получить доступ к новой папке, но остальная часть сайта wordpress распадается. поэтому я вообще не могу избавиться от этого кода.

Я попытался добавить это в код:

RewriteCond %{REQUEST_URI} !^/test

так это выглядит так:

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

Безрезультатно, и я все еще вижу ошибку 404.

Может кто-нибудь посоветовать по этому поводу?

Я пробовал много способов, включая этот, но все равно ничего не работает !!

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI}  !(test) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

ты имеешь в виду, что передаешь файл

Vasim Shaikh 01.05.2018 20:06

@VasimVanzara, я ничего не перемещал и не переносил! Я просто создал папку прямо из cPanel. Я также создал тестовые файлы (test.php и test.html), и я все еще получаю ошибку 404, когда пытаюсь получить к ним доступ из браузера.

Rooz Far 01.05.2018 20:16
Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
1
2
162
1

Ответы 1

Как переместить установку WordPress в подпапку

Переместите wp- *, ​​index.php, .htaccess в новую папку wordpress. Отредактируйте wordpress / .htaccess:

Найдите эту строку: RewriteRule. /index.php [L] Сделайте это: RewriteRule. /wordpress/index.php [L] Создайте новый файл в / path / to / www с именем .htaccess, затем добавьте это:

RewriteEngine on
RewriteRule ^$ https://www.example.com/ [L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1 [L]
</IfModule>

Другой способ переместить все в подкаталог

  • переименуйте htaccess в backhtaccess.
  • Войти в админ
  • Зайдите в настройки -> постоянные ссылки-> сохранить изменения. Все сделано.

========================= ОБНОВЛЕННЫЙ ОТВЕТ ======================= =======

Добавьте эту строку в свои темы functions.php:

include(ABSPATH . 'custom.php');

Объяснение:

Ваш wp-config.php должен содержать следующий код (внизу страницы):

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

Они сохраняют путь к установке wordpress в ABSPATH.

Это будет что-то вроде "/ var / www / foo /" или подобное. Таким образом, вы можете объединить ABSPATH с путем к вашему файлу. Если, например, ваш php-файл находится в какой-то папке, например "example.com/somefolder/custom.php", вы должны использовать

include(ABSPATH . 'somefolder/custom.php');

Надеюсь это поможет!

======================= Ответ 3 ======================

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

Вы можете добавить свертку в белый список, используя

RewriteCond %{REQUEST_URI} !^/(test|test/.*)$

Ссылка на ссылку:

.htaccess и Wordpress: исключить папку из RewriteRule

Ссылка: codex.wordpress.org/Giving_WordPress_Its_Own_Directory

Vasim Shaikh 01.05.2018 20:13

Я ничего не перемещал и не переносил! Я просто создал папку прямо из cPanel. Я также создал тестовые файлы (test.php и test.html), и я все еще получаю ошибку 404, когда пытаюсь получить к ним доступ из браузера.

Rooz Far 01.05.2018 20:15

Вы имеете в виду public_html / test / test.html?

Vasim Shaikh 01.05.2018 20:17

public_html / test / test.php, public_html / test / test.html, public_html / test, public_html / test.html, public_html / test.php все дают мне ошибку 404.

Rooz Far 01.05.2018 20:18

можно мне URL, пожалуйста

Vasim Shaikh 01.05.2018 20:18

URL-адрес показывает только ошибку 404. к сожалению, я не могу поделиться ссылкой на общедоступный форум.

Rooz Far 01.05.2018 20:21

Пробовали ваше обновленное предложение, но оно не сработало! Эта проблема связана исключительно с той частью кода htaccess, которую я разместил в своем вопросе, потому что, как я уже сказал, когда я УДАЛЯЮ ЭТО, я могу получить доступ к файлам / папкам, которые я создал. Сомневаюсь, что вы полностью поняли вопрос.

Rooz Far 01.05.2018 20:36

Последний опубликованный вами код вызывает сбой других страниц, и все они показывают: Ошибка не найдена.

Rooz Far 01.05.2018 20:57

можно показать экран?

Vasim Shaikh 01.05.2018 21:05

вы видели ссылку

Vasim Shaikh 01.05.2018 21:09

Другие вопросы по теме