【问题标题】:htaccess - laravel with WordPresshtaccess - 带有 WordPress 的 laravel
【发布时间】:2013-01-26 13:23:27
【问题描述】:

我正在尝试让 wordpress 和 laravel 并排运行并遇到一个小问题。

这是我的代码

# 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

除了主页和管理页面(laravel)之外,除了最后没有'/'之外,wordpress 页面都可以工作。

有什么想法吗?

问候

【问题讨论】:

    标签: wordpress .htaccess laravel


    【解决方案1】:

    路由有问题。这个问题可能会解决您的问题: PHP Laravel Routing Issue

    尝试所有建议,尤其是有关 apache 配置的建议。

    【讨论】:

      【解决方案2】:

      'Rewrite' 表示“将 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,然后停止”,所以这就是为什么“主页”会转到 Laravel。

      注释掉该行(在开头添加一个 #),看看这是否会使您的主页转到 WordPress。

      另外,/admin 不会直接指向 Laravel,因为它不匹配规则(基于 /admin/)。如果您希望 /admin 起作用,请从第一条规则中取出 /。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-19
        • 2011-01-10
        • 2018-11-28
        • 1970-01-01
        • 2015-02-22
        • 1970-01-01
        • 2016-12-05
        • 1970-01-01
        相关资源
        最近更新 更多