【问题标题】:Wordpress + laravelWordPress + laravel
【发布时间】:2014-07-09 08:34:31
【问题描述】:

我正在为我的大学做一个大型的 wordpress 项目,这是我第一次使用 wordpress,我遇到了一些问题。本质上,我的 var/www 中有两个文件夹,分别称为 portal 和 studyconnect。 “门户”包含 wordpress 安装和 studyconnect 包含 laravel 应用程序,该应用程序用作我需要为 wordpress 页面的角度部分使用的 API。我在访问 laravel 安装时遇到问题,因为 wordpress 试图路由每个链接。为了解决这个问题,我在我的 wordpress 文件夹中创建了一个符号链接。所以文件夹“门户”包含一个符号链接研究->../studyconnect/public。我的虚拟主机配置包含以下内容:

DocumentRoot /var/www/portal
    <Directory />
            Options FollowSymLinks
            AllowOverride none
    </Directory>
    <Directory /var/www/portal/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all

    RewriteEngine on
    RewriteRule ^(server-info|server-status) - [L]
    RewriteCond %{HTTP_HOST} ^(www\.)?studyconnect\.ctsi\.ufl\.edu [NC]
    RewriteRule (.*) http://test.ctsi.ufl.edu/studyconnect/$1 [L]
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>

我现在遇到的问题是 laravel 部分正在工作,我可以访问它。 wordpress 网站的索引页面打开,但每当我尝试打开任何页面/点击页面上的链接时,网站都会陷入重定向循环。

wordpress 网站的 .htaccess 如下:

开始wordpress

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

结束wordpress

任何帮助我指出正确方向的人将不胜感激。

它是最新版本的 wordpress。服务器在 debian wheezy 上运行。 PHP 版本是 5.3.3。我只修改了 wordpress 中的 functions.php 以包含角度脚本和 app.js

wp_register_script('angular-core', "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.js"); wp_enqueue_script('角核'); wp_register_script('angular-app', get_bloginfo('template_url').'/app.js', array('angular-core'), null, false); wp_enqueue_script('angular-app'); /

【问题讨论】:

    标签: php wordpress .htaccess mod-rewrite laravel


    【解决方案1】:

    您可能需要在 .htaccess 中添加另一个 RewriteCondition 基本上如果它不等于 /studies/ 通过 index.php 路由,那么它将遵循符号链接

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

    【讨论】:

    • 如果路线不是研究,我不希望它遵循符号链接。你的意思是说问题的出现是因为我添加了一个符号链接,结果默认的 wordpress htaccess 没有按应有的方式工作?
    • 很抱歉没有早点回来工作忙。你能给我一些卡在重定向循环中的示例 URL 吗?
    • 您好,我发现了我的问题。问题是 wordpress 文件夹中的 .htaccess 和 apache 站点启用中的重写规则发生冲突。我必须打开允许覆盖以遵循符号链接。我通过从 wordpress .htaccess 中删除冲突规则解决了这个问题。感谢您的帮助
    猜你喜欢
    • 2015-05-22
    • 2016-12-10
    • 2017-12-30
    • 2017-05-29
    • 1970-01-01
    • 2018-06-11
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多