2013-02-16 4 views
0

Добрый утренний стек! Мой сайт в настоящее время структурированы следующим образом:.htaccess порядок выполнения в подкаталогах (wordpress/laravel)

  1. http://www.mywordpressite.com/
  2. http://www.mywordpressite.com/.htaccess
  3. http://www.mywordpressite.com/portal/
  4. 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 для обработки.

Это кажется обратным для меня. Какие-либо предложения?

+1

Вы пробовали исключить '/ portal' форму WP-набора правил, например:' RewriteCond% {REQUEST_URI}!/Portal [NC] 'ниже' RewriteRule^index \ .php $ - [L] 'и добавление '/ portal' в набор правил портала, например:' RewriteCond% {REQUEST_URI} ^/portal [NC] '?Вы должны добавить 'RewriteBase/portal' в набор правил портала в любом случае, как говорит MikeAnthony. –

ответ

1

Я думаю, ваша проблема заключается в том, что вы остались в файле порталы доступа к RewriteBase:

RewriteBase /portal/ 

Я не гений доступа гипертекст, поэтому я не могу объяснить, что происходит когда вы его покинете. Но я уверен, что это решение.

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