1

在我的 Joomla 网站上,我已将一些相当直接的 RewriteRules 添加到我的 .htaccess 文件中。它们都是这样的一对一规则,因为我正在更改站点的文件结构并且不想破坏我的旧链接。

RewriteRule ^content/view/54/48/$ /courses [R]

这些是 Joomla 附带的现有规则的补充:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

如果我注释掉现有的 Joomla 规则,那么我可以看到我的规则正常工作,并且当我在http://example.com/content/view/54/48/浏览器地址栏中键入时更改为http://example.com/courses,但是如果我离开这些其他规则,那么 Joomla 不知道如何处理它(它给出“未知组件错误”)。如果我http://example.com/courses直接输入,那么它会按预期工作,所以我觉得这是我重写的问题,而不是 Joomla。

我认为 RewriteRules 是按顺序相互作用的。例如:

RewriteRule a b
RewriteRule b c   # a request for "a" will take you to "c"

我在共享主机上,所以很遗憾我无法打开登录。有人对我有什么建议吗?

4

1 回答 1

4

尝试将规则中的 [R] 更改为 [R,L] ...

于 2008-12-22T17:44:19.953 回答