将 Joomla SEF 规则从 .htaccess 移至 vhosts.conf

Posted

技术标签:

【中文标题】将 Joomla SEF 规则从 .htaccess 移至 vhosts.conf【英文标题】:Moving Joomla SEF rules from .htaccess to vhosts.conf 【发布时间】:2013-01-27 20:56:40 【问题描述】:

我有一个 joomla 安装,它使用内置的 SEF url,以及股票 .htaccess 文件来重写它们。

我认为在 apache 配置中设置规则而不是在 .htaccess 中设置规则会更有效,[以避免在每次加载文件时都请求和解析此文件],但找不到它的参考,

所以我将规则从 .htaccess 移到 vhosts.conf 文件中。

我现在收到 400 个带有 SEF url 的页面的错误请求。

任何人都可以提出问题或提供任何建议吗?

更新

看来基础是问题,只需将重写规则更改为:

RewriteRule .* index.php [L]
to
RewriteRule .* /index.php [L]

【问题讨论】:

.htaccess 文件在这里,它只是 joomla 附带的一个gist.github.com/vool/4770127 【参考方案1】:

您在 vhosts.conf 文件中的什么位置放置了这些规则?他们应该在

<Directory /path/to/joomla> 
  #your rules here
</Directory>

在 Vhost 定义中

【讨论】:

是的,这就是我放置它们的地方,我知道规则正在被应用,因为我添加了一个以删除 www。来自 url 并且工作正常。

以上是关于将 Joomla SEF 规则从 .htaccess 移至 vhosts.conf的主要内容,如果未能解决你的问题,请参考以下文章

Joomla home 丢失了组件的 sef 别名

joomla 自定义组件的高级 url sef

Joomla SEF自定义组件任务的URL

迁移到新主机后,Joomla 站点 URL 重写不起作用

如何在 Joomla 中生成友好的 url?

Joomla 3.3,AJAX,组件参数不会加载