На своем сайте 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"
Я использую общий хостинг, поэтому, к сожалению, я не могу включить вход. Кто-нибудь может мне посоветовать?

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