Добрый утренний стек! Мой сайт в настоящее время структурированы следующим образом:.htaccess порядок выполнения в подкаталогах (wordpress/laravel)
- http://www.mywordpressite.com/
- http://www.mywordpressite.com/.htaccess
- http://www.mywordpressite.com/portal/
- http://www.mywordpressite.com/portal/.htaccess
Мои понять Вселенной, что если я перейти на портал, (4)» s .htaccess будет анализироваться вместо (или с предпочтением) (2) .htaccess. На самом деле, я наблюдаю, что даже при навигации по (3) http://www.mywordpressite.com/portal/ происходит переход .htaccess из (2).
Как вы можете себе представить, корневой каталог является WordPress сайта с помощью стандартного WordPress .htaccess файла:
/.htaccess
<files wp-config.php>
Order deny,allow
deny from all
</files>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Портал является порталом Laravel, со стандартным Laravel. файл .htaccess
/portal/.htaccess
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
Я заметил, что если я удалю (2) /.htaccess, внезапно все работает с порталом, так что, безусловно, происходит столкновение. Я не буду публиковать свой материал для vhost здесь, так как работа .htaccess/делает то, что они должны делать - просто не в одно и то же время:
/.htaccess перенаправляет почти все каналы на все входные данные, где вход не соответствуют файлу или каталогу в файле index.php для лучшего анализа.
/portal/.htaccess делает что-то подобное.
То, что я заметил, что с обеих .htaccesses, если ориентироваться на маршрут, который, как правило, будет разобрано .htaccess портала, таких как http://www.mywordpressite.com/portal/this/is/a/route я в конечном итоге получить 404 из моего WordPress сайта (например, он отправил URL-адрес в файл /index.php корневого каталога wordpress), и, конечно, эта страница не существует в WP.
Когда я удаляю wp /.htaccess, конечно, Wordpress больше не работает, но внезапно, файл .htaccess портала начинает работать нормально, а http://www.mywordpressite.com/portal/this/is/a/route запускает соответствующий маршрут, связывая параметры URL-адреса в/portal /index.php для обработки.
Это кажется обратным для меня. Какие-либо предложения?
Вы пробовали исключить '/ portal' форму WP-набора правил, например:' RewriteCond% {REQUEST_URI}!/Portal [NC] 'ниже' RewriteRule^index \ .php $ - [L] 'и добавление '/ portal' в набор правил портала, например:' RewriteCond% {REQUEST_URI} ^/portal [NC] '?Вы должны добавить 'RewriteBase/portal' в набор правил портала в любом случае, как говорит MikeAnthony. –