【问题标题】:.htaccess file problems.htaccess 文件问题
【发布时间】:2011-09-30 20:00:10
【问题描述】:

所以我有一个 Joomla 实例,它位于我的 ROOT 目录中。我在 /blog 子目录中有一个 Wordpress 多站点安装。

服务器似乎很难在 /blog 目录中查找或获取站点。似乎它可以很好地进入 /blog 主页面,但如果我想去 /blog/{sitename},sitename 是 Wordpress Mulitsite 的一个实例,则很难到达那里。可能使事情复杂化的是,我在 Joomla 实例和 Wordpress 多站点实例上都有 Fancy URL。

Joomla 和 Wordpress Multisite 的 .htaccess 文件均来自其各自应用程序的库存安装(我有 99% 的把握)。

我将在此处发布它们,看看是否有人可以看到 .htaccess 中可能存在的冲突

带有核心 SEF 的 Joomla .htaccess

版本 $Id: htaccess.txt 21064 2011-04-03 22:12:19Z dextercowley $

RewriteEngine On
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

RewriteBase /
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

END Joomla .htaccess

现在我已将此添加到 Joomla .htaccess 文件中,希望它不会在 /blog 文件夹上使用 SEF,但它似乎不起作用。我正在尝试从顶级 .htaccess 中排除博客目录,并让 /blog .htaccess 接管该子目录的控制权。

#RewriteCond %{REQUEST_URI} ^/blog/.*$
#RewriteRule ^.*$ - [L]

这是我的 Wordpress .htaccess

RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

当请求页面时,顶级域 (Joomla) 上的所有内容都运行得非常快。
服务器最终会找到 /blog 目录,但它花费的时间比它应该的要多。真正的大问题是,当我访问其中一个博客站点 (/blog/sitename) 时,可能需要 8-10 秒以上的时间。然后,一旦页面加载,我会转到 /blog/sitename 上的另一个页面,例如“关于”,这可能需要大约相同的时间。

总的来说非常令人沮丧。任何帮助表示赞赏。我已经在谷歌上搜索了一段时间,除了

之外没有找到太多帮助
#RewriteCond %{REQUEST_URI} ^/blog/.*$
#RewriteRule ^.*$ - [L]

它并没有解决问题。

似乎 /blog 目录中的所有站点访问速度都很慢。我那里大约有 6 个,它们的加载速度都很慢。

【问题讨论】:

    标签: wordpress .htaccess joomla


    【解决方案1】:

    好吧,我不确定您是否在本地开发,但您可以尝试的一件事是将所有 Joomla 文件放在它们自己的目录中并使用 .htaccess 正确解析该站点 - 那么您不应该有影响 /blog 目录的 Joomla .htaccess。

    只是一个考虑因素。我不确定它是否会完全解决问题,但至少你可以将“Joomla .htaccess 是否与 Wordpress .htaccess 冲突并导致速度减慢”的问题分开。

    【讨论】:

    • 我总是告诉人们报告根应用程序和子目录应用程序之间的 .htaccess 交互:“将应用程序安装到他们自己的子目录中”。您不希望应用程序 W 在获得它自己之前通过应用程序 J 的 .htaccess。解开它们可能会变得复杂。根 /.htaccess 应该严格用于站点常见的事情,例如添加/剥离 www。并设置错误处理程序。特定于应用程序的操作应该在它们自己的 .htaccess 文件中。
    猜你喜欢
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多