1

私の 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"

私は共有ホスティングを使用しているため、残念ながらログオンできません。誰か私にアドバイスはありますか?

4

1 に答える 1

4

ルールの [R] を [R,L] に変更してみてください ...

于 2008-12-22T17:44:19.953 に答える