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