【问题标题】:Laravel .htaccess subfolderLaravel .htaccess 子文件夹
【发布时间】:2018-10-09 01:46:40
【问题描述】:

我现在有一个默认文件夹结构的 Laravel 安装。 在我的根文件夹中,我有一个像这样的 .htaccess 文件。

Options +FollowSymLinks

<IfModule mod_rewrite.c>

    # RewriteEngine On
    # RewriteCond %{REQUEST_FILENAME} !-d
    # RewriteCond %{REQUEST_FILENAME} !-f
    # RewriteRule ^ index.php [L]

    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]

</IfModule>

我必须安装在 WordPress 的子文件夹中。

所以我想使用 URL http://www.example.com/ 访问我的 WP 安装,并使用 http://www.example.com/admin 访问 Laravel。

我知道这是一个 .htaccess 技巧,但是,即使我尝试了多种重写,我仍然无法达到预期的结果。

【问题讨论】:

  • 问题是 WordPress 即使安装在 Laravel 的子文件夹中,也应该从根域 www.example.com/ 访问,而 laravel 应该从 www.example.com/admin 访问。 m 无法正确重写它们。

标签: php .htaccess


【解决方案1】:

因此,在您的根 .htaccess 中,您应该使用以下内容:

RewriteEngine On

# Route any request begining with 'admin/' to laravel
RewriteRule ^admin/(.*)$ public/$1 [L]
# Anything else goes to Wordpress
RewriteRule ^(.*)$ wp/$1

在你的 Laravel .htaccess 添加:

RewriteBase /admin

如果你不能忍受斜杠是强制性的,你可以试试:

RewriteRule ^admin(/(.*))?$ public/$2 [L]

【讨论】:

  • HTML 似乎工作正常,但是,所有资产都给出 404。
  • 我当前的 .htaccess 和你发布的完全一样。
  • 我可能没有解释清楚,我有一个具有 htaccess 的根 laravel 文件夹,在根文件夹内我有另一个 htaccess 的 laravel 公用文件夹。在我提到的第一个 htaccess 中,对 Laravel 的公共文件夹进行了重写,正如您从我上面发布的 htaccess 中看到的那样。在我的根 Laravel 文件夹内,还有一个 wordpress/ 文件夹。 Laravel 应该作为 /admin url 和 wordpress 作为主要的。
  • @Manu 在某些时候,您需要检查所请求的文件是否存在并提供该文件或重写到前端控制器。您可以使用注释掉的 RewriteCond 行来执行此操作,但我认为您应该在您的 public/.htaccess 中执行此操作。你能分享一下吗? laravel 的 index.php 和资产就在哪里,对吧?为您提供 404 的网址之一也会有所帮助。
  • 我明白了,我只是在我的 .env 文件中更改了 APP_URL 属性,将 /admin 添加到末尾。但是当我在没有 /admin 路径的情况下转到 example.com 时,它给了我错误 500 "Internal Server Error"
【解决方案2】:

试试这个:

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

# END WordPress

【讨论】:

  • 问题不在 WordPress htaccess 中,而在 Laravel 中。
  • 你在 laravel 中没有与 WP 子目录同名的路由,对吧?只是确认。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
  • 2014-06-23
  • 2018-02-26
  • 1970-01-01
相关资源
最近更新 更多