【问题标题】:.htaccess execution order in subdirectories (wordpress/laravel).htaccess 子目录中的执行顺序(wordpress/laravel)
【发布时间】:2013-02-01 13:31:32
【问题描述】:

早上好堆栈!我的网站目前的结构如下:

  1. http://www.mywordpressite.com/
  2. http://www.mywordpressite.com/.htaccess
  3. http://www.mywordpressite.com/portal/
  4. http://www.mywordpressite.com/portal/.htaccess

我对宇宙的理解是,如果我导航到门户,(4) 的 .htaccess 将被解析而不是(或优先于)(2) 的 .htaccess。实际上,我观察到即使在导航到 (3) http://www.mywordpressite.com/portal/ 时,来自 (2) 的 .htaccess 也会接管。

你可以想象,根目录是一个带有标准 wordpress .htaccess 文件的 wordpress 站点:

/.htaccess

<files wp-config.php>
Order deny,allow
deny from all
</files>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

门户是一个 Laravel 门户,带有一个标准的 Laravel .htaccess 文件

/portal/.htaccess

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

我注意到,如果我突然删除 (2) /.htaccess,一切都可以在门户网站上运行,因此肯定会发生冲突。我不会在这里发布我的虚拟主机的东西,因为 .htaccess 的工作/做他们应该做的事情 - 只是不同时:

/.htaccess 将几乎所有输入与文件或目录不对应的输入重定向到 index.php 文件中,以便更好地解析。

/portal/.htaccess 做了类似的事情。

我注意到,对于这两个 .htaccess,如果我导航到通常会被门户的 .htaccess 解析的路线,例如http://www.mywordpressite.com/portal/this/is/a/route,我最终会从我的 wordpress 站点(例如,它将 url 传送到 wordpress 根目录的 /index.php 文件中),当然该页面在 WP 中不存在。

当我删除 wp /.htaccess 时,当然 wordpress 不再正常工作了,但是突然之间,门户网站的 .htaccess 开始正常工作,http://www.mywordpressite.com/portal/this/is/a/route 通过将 url 参数传递到 / 来触发适当的路由portal/index.php 进行处理。

这对我来说似乎倒退了。有什么建议吗?

【问题讨论】:

  • 您是否尝试将/portal 排除在WP 规则集中,如下所示:RewriteRule ^index\.php$ - [L] 下方的RewriteCond %{REQUEST_URI} !/portal [NC],并将/portal 添加到门户规则集中,如下所示:RewriteCond %{REQUEST_URI} ^/portal [NC] ?正如 MikeAnthony 所说,无论如何您都必须将 RewriteBase /portal 添加到门户规则集。

标签: wordpress .htaccess laravel laravel-4


【解决方案1】:

我认为您的问题在于您在门户访问文件中遗漏了RewriteBase

RewriteBase /portal/

我不是超文本访问天才,所以我无法解释当你忽略它时会发生什么。但我确信这就是解决方案。

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 2022-11-14
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2011-02-09
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多