Laravel вместе с WordPress на общем хосте - PullRequest
0 голосов
/ 11 марта 2020

У меня есть сайт WordPress на общем хосте, и я хочу создать для него laravel панель администратора.
Я работал на основе этой страницы и моего Структура файла выглядит следующим образом:

domains/
│
└── mydomain.com/
    │
    ├── laravel/
    │    │
    │    └── laravel files
    │
    └── public_html/
          │
          ├── wordpress files
          │
          └── appadmin/
              │
              ├── css/
              │
              ├── fonts/
              │
              ├── js/
              .
              .
              .
              │
              ├── .htaccess
              │
              └── index.php

И изменено appadmin/index.php для доступа к laravel файлам.
index. php:

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

define('LARAVEL_START', microtime(true));


require __DIR__.'/../../laravel/vendor/autoload.php';

$app = require_once __DIR__.'/../../laravel/bootstrap/app.php';
//...

my laravel Маршрут входа администратора: /login, что означает laravel URL входа администратора: mydomain.com/appadmin/login, и он отлично работает.

НО! при вводе имени пользователя и пароля (не имеет значения, правильно или неправильно) и нажмите кнопку отправки, страница будет перенаправлена ​​на mydomain.com/wp-login.php

Редактировать: это laravel и wp .htaccess файлы

wp htaccess:

# BEGIN iThemes Security - این خط را تغییر یا حذف نکنید
# iThemes Security Config Details: 2
    # مسدودسازی میزبان - امنیت > تنظیمات > کاربران مسدود شده
    SetEnvIF REMOTE_ADDR "^5\.45\.69\.4$" DenyAccess
    SetEnvIF X-FORWARDED-FOR "^5\.45\.69\.4$" DenyAccess
    SetEnvIF X-CLUSTER-CLIENT-IP "^5\.45\.69\.4$" DenyAccess

    SetEnvIF REMOTE_ADDR "^192\.99\.15\.141$" DenyAccess
    SetEnvIF X-FORWARDED-FOR "^192\.99\.15\.141$" DenyAccess
    SetEnvIF X-CLUSTER-CLIENT-IP "^192\.99\.15\.141$" DenyAccess

    SetEnvIF REMOTE_ADDR "^149\.56\.241\.211$" DenyAccess
    SetEnvIF X-FORWARDED-FOR "^149\.56\.241\.211$" DenyAccess
    SetEnvIF X-CLUSTER-CLIENT-IP "^149\.56\.241\.211$" DenyAccess

    SetEnvIF REMOTE_ADDR "^31\.222\.187\.197$" DenyAccess
    SetEnvIF X-FORWARDED-FOR "^31\.222\.187\.197$" DenyAccess
    SetEnvIF X-CLUSTER-CLIENT-IP "^31\.222\.187\.197$" DenyAccess

    <IfModule mod_litespeed.c>
        Order allow,deny
        Allow from all
        Deny from env=DenyAccess
        Deny from 5.45.69.4
        Deny from 192.99.15.141
        Deny from 149.56.241.211
        Deny from 31.222.187.197
    </IfModule>
# END iThemes Security - این خط را تغییر یا حذف نکنید

# This file was updated by Duplicator on 2018-12-05 08:05:28. See .htaccess.orig for the original .htaccess file.
# Please note that other plugins and resources write to this file. If the time-stamp above is different
# than the current time-stamp on the file system then another resource has updated this file.
# Duplicator only writes to this file once during the install process while running the installer.php file.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(appadmin|user)($|/) - [L] #To Shailor's suggestion
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

laravel htaccess:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

1 Ответ

2 голосов
/ 11 марта 2020

перепроверить laravel и файлы WordPress .htaccess. чтобы исключить appadmin, вы должны добавить эту строку в .htaccess wp перед любым другим RewriteRule. обновите ваш вопрос с помощью файлов .htaccess, если это не решило вашу проблему, я тоже обновлю свой ответ

RewriteRule ^(appadmin|user)($|/) - [L]
...