Apacheとphp(thinとnignxを使用している;)で遊んでから約3年です。そのため、mod_rewriteディレクティブをセットアップして、ルートからのすべてのhttp要求をアプリケーションのインストールされたフォルダーに転送する方法を忘れました。
現在の設定と制限:
Apacheでドキュメントを読みましたが、リダイレクトループが発生し続けます。ですから、皆さんが提供できる助けはありがたいです。
ありがとう。
これを整理していない場合は、Pastebinリンクにある書き換えルールを見てください
RewriteRule ^(.*)$ http://www.diviniti.cc/joomla-1.5.20/$1 [R=301,QSA,L]
ここにあなたの欲望を打ち負かしているものがいくつかあります:
R=301
ディレクティブはブラウザを実際に「立ち去らせ」、書き換えられたURLをロードし、ブラウザのURLを変更しますnon-www
サブドメインをwww
サブドメインにリダイレクトすることも、URLのjoomla
部分をブラウザ。代わりに、2つのルールを試してください。
Options +FollowSymlinks
RewriteEngine On
# 1. redirect (bounce) all non-www to www [as per Apache docs][1] - retaining query strings
RewriteCond %{HTTP_Host} !^www\.example\.com [NC]
RewriteCond %{HTTP_Host} !^$
RewriteRule ^/(.*) http://www.example.com/$1 [L,R,QSA]
# 2. then, use joomla but hide the joomla dir - note the lack of 'R' directive
RewriteRule ^(.*)$ /joomla-1.5.20/$1 [QSA,L]
「すべてのサブドメインをwwwにする」ことを強制する必要がない場合は、ルール1をスキップして、ルール2のままにします。
「ルート」のために、Pastebinで行った2回目の書き換えは必要ありません。
# Also redirect the root folder.
RewriteCond %{HTTP_Host} ^(*.)?diviniti\.cc$
RewriteRule ^(/)?$ joomla-1.5.20/index.php [L]
提供されたリライトの^(.*)$
は、URLがhttp://www.example.com/
である場合にも一致するためです
現在、Joomla自体はこのchi笑に満足していない可能性があります。documentrootが別のことを言っている間、この擬似ルートにいることを深く嫌がるかもしれません。
1: http://httpd.Apache.org/docs/2.0/misc/rewriteguide.html#url 「Apacheドキュメントごと」