0

ファイルが含まれるフォルダーを、パブリックフォルダーも配置されているpublicフォルダーにシンボリックリンクしようとしています。index.phphttpdocs

パブリック フォルダーをシンボリック リンクしようとすると、publicフォルダー名が既に使用されていることを警告するエラーが表示されます。index.phpまた、ファイル自体をシンボリックリンクしようとしましたが、機能しましたが、サイトの機能が壊れました。

フォルダーをシンボリックリンクするときに使用しているコマンドは次のとおりですpublic

ln -s /var/www/vhosts/mysite.co.uk/httpdocs/public /var/www/vhosts/mysite.co.uk/httpdocs

index.phpファイルをシンボリックリンクするときに使用したコマンドは次のとおりです。

ln -s /var/www/vhosts/mysite.co.uk/httpdocs/public/index.php /var/www/vhosts/mysite.co.uk/httpdocs

tldr:index.phpパブリック フォルダー内の をindex.php、ユーザーがmysite.co.uk/public/index.php. index.phpファイルはフォルダに残す必要がありますpublic

4

3 に答える 3

1

私はそれを機能させることができました!フォルダー内でソフトシンボリックリンクを使用しpublic/index.phpて、フォルダー内にもファイルhttpdocsを作成しました。index.phphttpdocs

ln -s /var/www/vhosts/mysite.co.uk/httpdocs/public/index.php /var/www/vhosts/mysite.co.uk/httpdocs/

.htaccess次に、次のファイルをフォルダーに追加しましたhttpdocs...

Options +FollowSymLinks
<IfModule mod_rewrite.c>
        RewriteEngine on

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d

        RewriteRule . index.php [L]
</IfModule>

私に固執し、助けてくれた@Attilaに感謝します!

于 2012-04-18T09:03:59.663 に答える
1

index.php私の理解が正しければ、 からアクセスしたいのですがhttpdocs/public、そのフォルダーは既に存在します (最初のケースのエラーが通知するように)。ファイルをその(既存の)フォルダーにリンクできます。

ln -s /var/www/vhosts/mysite.co.uk/httpdocs/index.php /var/www/vhosts/mysite.co.uk/httpdocs/public/index.php

リンクするファイル itlsef を指定する必要があることに注意してください

于 2012-04-17T15:22:37.213 に答える
-1

解決策(およびですべてのファイルが必要な場合。…/public…/httpdocs

  • データを から/var/www/vhosts/mysite.co.uk/httpdocs/publicに移動します/var/www/vhosts/mysite.co.uk/httpdocs
  • /var/www/vhosts/mysite.co.uk/httpdocsへのシンボリックリンク…/public

指示:ln -s /var/www/vhosts/mysite.co.uk/httpdocs /var/www/vhosts/mysite.co.uk/httpdocs/public

短所:

  • たとえば、無限再帰/var/www/vhosts/mysite.co.uk/httpdocs/public/public/public/public/

symlink既存のファイル/ディレクトリに移動することはできません。可能であれば、ツリー構造を壊します。実際、ディレクトリをその親にリンクしようとしています。システムは上書きされたパスをどのように解決する必要がありますか?

例:

ファイル /a/b/c があり、次のことが可能です。

ln -s /a/b /a

システムは現在アクセスできないファイルをどのように解決する必要があります/a/b/cか?

ファイル ツリーを壊そうとするのではなく、目的のディレクトリにデータを移動します。

既存のディレクトリにデータをマウントすることは可能ですが (元のデータはアンマウントするまで到達できません)、これはあなたの場合には役に立ちません。

于 2012-04-17T15:32:19.067 に答える