了解しました。セットアップしているサーバーのCMSをダウンロードしましたが、ファイルのパスに問題があります。
ルートディレクトリはすでに別のCMSによって使用されているため、CMSをサーバーのサブディレクトリに配置しました。ただし、CMSはコード内で「/」を繰り返し使用してファイルにリンクします。たとえば、次のコードを使用して画像が見つかります。
<img src="/images/banner.png" />
ご存知のように、これは機能しません。上記のリンクは、サブディレクトリではなく、サーバーのルートにあるimagesフォルダにリクエストをリダイレクトするためです。CMSには「.htaccess」ファイルも付属していたので、「/」文字を使用して行われたすべてのリクエストをサーバーのサブディレクトリにリダイレクトできるとすぐに思いました。これは元の「.htaccess」ファイルです。
RewriteEngine On
RewriteRule ^index.php(|/)$ content/.php
RewriteRule ^error.php(|/)$ content/error.php
RewriteRule ^housekeeping(|/)$ housekeeping/index.php
RewriteRule ^(|/)$ content/$1.php
RewriteRule ^([a-zA-Z0-9_-]+)(|/)$ content/$1.php
RewriteRule ^rd/([^/]+)(|/)$ /rd.php?id=$1
RewriteRule ^quickregister/start(|/)$ /register/start.php
RewriteRule ^quickregister/step2(|/)$ /register/step2.php
RewriteRule ^quickregister/step3(|/)$ /register/complete.php
RewriteRule ^community/online(|/)$ content/online.php
RewriteRule ^community/vip(|/)$ content/vip.php
RewriteRule ^credits/goldvip(|/)$ content/goldvip.php
RewriteRule ^home/(..*)$ content/home.php?u=$1
RewriteRule ^articles/(..*)$ content/articles.php?story=$1
ErrorDocument 403 /content/error.php
ErrorDocument 404 /content/error.php
追加することで考えました
RewriteRule ^/$ /subdirectory/
「/」へのリクエストはリダイレクトされますが、役に立ちません。apacheの設定を確認しましたが、htaccessファイルを使用して設定を上書きできるようになっているようですので、誰か助けていただければ幸いです。
前もって感謝します!
編集: 私は解決策に本当に近づきました。このコードを「RewriteEngineon」のすぐ下に挿入しました。
RewriteRule ^(.*)/(.*)$ /private_servers/strebbohotel/$2
これにより、URL「http://mysite.com/private_servers/strebbohotel/content/.php」にアクセスしたときに次のエラーページが返されました:見つかりません
要求されたURL/private_servers/strebbohotel/.phpがこのサーバーで見つかりませんでした。
さらに、ErrorDocumentを使用してリクエストを処理しようとしたときに、404NotFoundエラーが発生しました。
ご覧のとおり、何らかの理由で「content」サブディレクトリをスキップします。.htaccessファイルの他の行と関係があると思いますが、どの行かわかりません。より複雑な正規表現が必要な場合もありますが、特に得意ではないので、誰かが私をさらに助けてくれれば幸いです。