Помогите с mod_rewrite и Joomla - PullRequest
       12

Помогите с mod_rewrite и Joomla

1 голос
/ 22 декабря 2008

На моем сайте 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"

Я на виртуальном хостинге, поэтому, к сожалению, я не могу включить журнал. У кого-нибудь есть советы для меня?

1 Ответ

4 голосов
/ 22 декабря 2008

Попробуйте изменить [R] в вашем правиле на [R, L] ...

...