在我的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"
我在共享主机上,所以不幸的是我无法打开登录。有没有人对我有任何建议?
答案 0 :(得分:4)
尝试将规则中的[R]更改为[R,L] ...