私の Joomla サイトでは、かなり単純な RewriteRules をいくつか .htaccess ファイルに追加しました。サイトのファイル構造を変更していて、古いリンクを壊したくないので、これらはすべてこのような 1 対 1 のルールです。
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"
私は共有ホスティングを使用しているため、残念ながらログオンできません。誰か私にアドバイスはありますか?