帮助mod_rewrite和Joomla

时间:2008-12-22 17:36:39

标签: apache mod-rewrite http-headers

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

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"

我在共享主机上,所以不幸的是我无法打开登录。有没有人对我有任何建议?

1 个答案:

答案 0 :(得分:4)

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