2012-06-06 2 views
2

Хорошо, в основном мне нужно установить мой .htaccess, чтобы он работал для установки SilverStripe в корневой каталог и блоги, установленные в каталоге/blogs. Вот что у меня есть:.htaccess с SilverStripe и WordPress

### SILVERSTRIPE START ### 
<Files *.ss> 
    Order deny,allow 
    Deny from all 
    Allow from 127.0.0.1 
</Files> 

<Files web.config> 
    Order deny,allow 
    Deny from all 
</Files> 

ErrorDocument 404 /assets/error-404.html 
ErrorDocument 500 /assets/error-500.html 

<IfModule mod_alias.c> 
    RedirectMatch 403 /silverstripe-cache(/|$) 
</IfModule> 

<IfModule mod_rewrite.c> 
    SetEnv HTTP_MOD_REWRITE On 
    RewriteEngine On 

    # BEGIN Silverstripe 
    RewriteBase/
    RewriteCond %{REQUEST_URI} ^(.*)$ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L] 
    # END Silverstripe 

    # BEGIN WordPress 
    RewriteBase /blogs/aquiman/ 
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /blogs/aquiman/index.php [L] 

    RewriteBase /blogs/aquipad/ 
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /blogs/aquipad/index.php [L] 
    # END WordPress 

</IfModule> 
### SILVERSTRIPE END ### 

Это, конечно, не работает. И я знаю, что это неправильно, но я не знаю достаточно, чтобы исправить это. Пожалуйста, помогите мне исправить это, чтобы он работал правильно.

Спасибо, JH

ответ

4

Один простой совет keep it separate т.е.

  • Держите SilverStripe кода, связанного в $DOCUMENT_ROOT/.htaccess с RewriteBase /
  • Держите Wordpress кода, связанного в $DOCUMENT_ROOT/blog/.htaccess с RewriteBase /blog/

Вот модифицированный код перезаписи, который вы должны использовать в $DOCUMENT_ROOT/.htaccess:

# BEGIN Silverstripe 
    RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule (?!^blog/)^.*$ sapphire/main.php?url=$1 [L,QSA,NC] 
# END Silverstripe 
+0

Хорошо, по большей части, что работает. Например, все вещи SilverStripe кажутся прекрасными. Перемещенные категории и должности в порядке. Но доступ к фактическим файлам php в подкаталогах блогов, кроме исходного index.php, не работает (т. Е. ../blogs/aquiman/wp-login.php не работает), и он, похоже, не находит страницу CSS. Есть предположения? –

+0

Я беру это обратно. Думаю, в блоге появилась старая кешированная версия. Ничего не работает в подкаталоге blogs. –

+0

ОК, пожалуйста, попробуйте мой отредактированный код в '$ DOCUMENT_ROOT/.htaccess' – anubhava

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