2013-02-11 42 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 /)。如果你想/管理工作,取出/从第一条规则。