2013-02-11 89 views
2

我試圖讓wordpress和laravel並排運行並觸及一個小問題。htaccess - laravel與WordPress

這裏是我的代碼

# BEGIN Laravel 
<IfModule mod_rewrite.c> 
    Options -MultiViews 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^/?admin/?.*$ index.php [L] 
</IfModule> 
# END Laravel 

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

WordPress的網頁上運作,除了主頁和後臺管理頁面工作(laravel),除了如果沒有「/」結尾。

任何想法?

關於

回答

0

路由有問題。這個問題可能會解決你的問題: PHP Laravel Routing Issue

嘗試所有的建議,特別是有關Apache配置的建議。

0

'重寫'的意思是「將URL視爲與該文件名匹配」。文件運行仍然可以告訴原始URL是什麼,所以它知道要顯示什麼。

代碼

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

意味着如果指定名稱的文件不存在,或在瀏覽器中的目錄不存在,則繼續執行下面的重寫規則。

你所擁有的第一條規則是'將任何具有/ admin /的東西發送給index.php' - 可能是Laravel。

你有第二個規則是'發送任何東西到wp-index.php' - 大概是WordPress。

服務器通常設置爲直接/到index.php,而行

RewriteRule ^index\.php$ - [L] 

指爲什麼「主頁」是「沒有的index.php重寫,並停止」,所以這是去拉拉維爾。

註釋說明(添加一個#到開頭),看看是否讓你的主頁轉到WordPress。

另外,/ admin不會直接指向Laravel,因爲它不符合規則(基於/ admin /)。如果你想/管理工作,取出/從第一條規則。