0

У меня есть сайт со следующей структурой:403 ошибка на WordPress установки на подкаталог

/public_html 
    /main site content (html content mostly) 
    /.htaccess (1) 
    /secret (dir) 
     /wp (dir) 
      /a wordpress install 
      /.htaccess (2) 

/тайна/шр/предназначается, чтобы быть местом развития для перехода к Wordpress решения. Здесь я работаю над новым сайтом.

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

Проблема заключается в том, что некоторые важные имена расширений файлов меня переписывают, что мне нужно, или мой главный сайт разбивается.

Htaccess (1)

<Files ~ "^\.(htaccess|htpasswd)$"> 
deny from all 
</Files> 

DirectoryIndex index.html 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^(wp-admin)($|/) - [L] # You don't want to mess with WordPress 
RewriteRule ^/secret/wp/ - [L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule .* $0.html 

# browser requests html 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.html 
RewriteRule ^/?(.*)\.html$ /$1 [L,R=301] 

# check to see if the request is for a html file: 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^/?(.*)$ /$1.html [L] 
</IfModule> 

Redirect 301 /shop.html https://mydomain.myshopify.com/ 

Добавление строки "RewriteRule ^/тайна/шр/- [L]" был результатом поиска решения этого вопроса, но он не кажется, Делать что-нибудь.

Мой другой .htaccess, похоже, не запускается вообще. Я отправлю его для ясности:

.htaccess (2)

# BEGIN WordPress 
<IfModule mod_rewrite.c> 

    RewriteEngine On 

    RewriteBase /secret/wp/ 

    RewriteRule ^index\.php$ - [L] 

    RewriteCond %{REQUEST_FILENAME} !-f 

    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule . /secret/wp/index.php [L] 

    # Fix 403 errors on existing directories; WordPress overrides. 
     RewriteCond %{REQUEST_URI} ^/secret/wp/ 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule . /index.php [L] 

</IfModule> 
# END WordPress 

Я в растерянности, что делать. Я не могу просто удалить файл .htaccess, иначе весь сайт сломается, но я не могу понять, как остановить ошибки 403. Я уверен, что это из-за правила перезаписи, но, похоже, оно не останавливается для каталога, как предполагалось.

Любая помощь была бы принята с благодарностью.

ответ

0

нашел ответ. Потребовалось неделю земляных работ и тестирования через каждый возможный форум я мог бы найти, но в конечном итоге (после удаления всей сор установки и переустановки на чистую директорию), я нашел самый простой ответ, который зафиксировал его все:

I пришлось отредактировать мой файл .htaccess, чтобы разрешить «index.php» как действительную страницу индекса по умолчанию.

Моего файл .htaccess для верхнего уровня моего домена был только эта строка: DirectoryIndex index.html

Я просто должен был изменить его к DirectoryIndex index.html index.php

И тогда все работал.

0

Я думаю, вы можете попробовать это в ваш .htaccess

RewriteCond %{REQUEST_FILENAME} -f [OR] 

RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule^- [L] 

RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L] 

RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L] 

RewriteRule . index.php [L] 
+0

Не могли бы вы объяснить, куда он должен идти? или что он будет делать? Я пробовал в нескольких местах, но он не меняет ошибку 403, которую я получаю при попытке получить доступ к mydomain.com/secret/wp/ –

+0

, он будет искать подкаталоги wp-content, wp-admin и wp-includes , –

+0

убедитесь, что mod_rewrite включен на вашем сервере –

Смежные вопросы