私はほとんどこれが機能しています。私の問題は、サイト内のリンクをクリックするとすぐに、サブフォルダー名が URL に追加されることです。htaccess ファイルに加えた変更はすべてルート ディレクトリにあり、サイト ディレクトリにあるのは標準の joomla htaccess ファイルです。それが台無しになっているかどうかはわかりません。コードの例を次に示します。
言い換えると、ブラウザに「domain.com」という URL を入力すると、htaccess がその役割を果たし、それを自動的に「www.domain.com」に変更します。実際のサイトを見ることができるので、サブフォルダーにルーティングされていることがわかります。次に、例として「ホーム」ボタンをクリックします。アドレス バーに表示される URL は「www.domain.com/site」です。
##### Redirect non-www to www -- BEGIN
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R,L]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^/?(.*)$ http://www.domain.com/$1 [R=301,L]
##### Redirect non-www to www -- END
##### Subfolder redirect --BEGIN
RewriteRule ^(.*)$ /site/$1 [L]
RewriteRule ^(/)?$ site/index.php [L]
##### Subfolder redirect --END
必要に応じて htaccess ファイル全体を投稿したいと思いますが、これら 2 つのエントリを変更することで、サイトが現在の場所に移動したことをお伝えできます。ファイルにはかなりの数の「セキュリティ」対策があります。
編集: 最初からこれを入れておくべきでした。これは、index.php への直接呼び出しからリダイレクトしようとする私の試みです。他のリダイレクトと競合している可能性があることに気付きました。
##### Redirect index.php to / -- BEGIN
RewriteCond %{THE_REQUEST} !^POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
RewriteRule ^index\.php$ http%2://www.domain.com/ [R,L]
##### Redirect index.php to / -- END
編集 2: 私は、テストのためにブラウザーから Web キャッシュを常にダンプしています。私のサイトは、最初の接続時に非常に遅く実行されているようで、コンテンツに関してはほとんど何もありません. 要求が多すぎるものを追加しましたか?