Проблема .htaccess в приложениях angular7 и wordpress - PullRequest
0 голосов
/ 03 мая 2020

У меня есть приложение angular7 и приложение Wordpress. Приложение Angular7 работает в папке root. Wordpress работает в «блоге» (подпапка). Я добавил "блог" как папку c в angular. json. Мое angular приложение было успешно запущено. Но мой Wordpress не работал.

Здесь я прикрепил файл .htaccess для обоих. Пожалуйста, помогите мне решить эту проблему

Angular Сборка: https://example.com Wordpress: https://example.com/blog

.htaccess для Angular приложения

<IfModule mod_rewrite.c>
    RewriteEngine on
    # RewriteBase /
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
    RewriteRule (.*) https://www.%1/$1 [R=301,L]

    # Don't rewrite files or directories
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]

    # Rewrite everything else to index.html
    # to allow html5 state links
    RewriteRule ^ index.html [L]    
</IfModule>

.htaccess для wordpress

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

1 Ответ

0 голосов
/ 03 мая 2020

У меня была такая же проблема. Если я правильно понимаю, структура ваших папок выглядит следующим образом:

|– www/           // your root directory
|   |– blog/      // your blog sub-directory

Когда вы находитесь в подкаталоге блога, вы должны обращаться с ним так, как если бы он был текущим каталогом внутри .htaccess. Правила с /blog/ неверны, например:

RewriteRule. /blog/index.php [L]

Вы можете попробовать:

www/blog/.htaccess

This .htaccess:

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

DirectoryIndex index.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...