Помощь с mod_rewrite и Joomla

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

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

Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
1 003
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Может быть, некоторым людям будет полезно знать, что [L] означает «Последнее правило» и остановит выполнение правил Joomla, когда это правило сработает.

PEZ 22.12.2008 21:38

Другие вопросы по теме