37

コンピューターでLampサーバーを使用しています。Laravelphpフレームワークを使い始めました。私の.htaccessで、を使用するOptions +FollowSymLinksと、500エラーが発生します。そして、コメントアウトする場合index.phpは、すべてのアドレスで使用する必要があります。例:

 /~ytsejam/blog/public/index.php/login

ArchLinuxを使用しています。それを解決する方法はありますか?

編集:仮想ホストを使用してこれを解決しました。そしてindex.php from application/config/application.phplaravelフォルダーで削除します。

4

3 に答える 3

18

インターネットで「ここでは許可されていない.htaccessオプション」を検索してみてください。

私が(グーグルを使って)見つけた提案は:

httpd.confファイルにAllowOverrideAllが含まれていることを確認してください。

Mint Linuxで動作する.htaccessファイル(Laravel / publicフォルダーに配置):

# Apache configuration file
# http://httpd.apache.org/docs/2.2/mod/quickreference.html

# Turning on the rewrite engine is necessary for the following rules and
# features. "+FollowSymLinks" must be enabled for this to work symbolically.

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
</IfModule>

# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

これがお役に立てば幸いです。それ以外の場合は、Laravelフォーラム(http://forums.laravel.com/)で質問することができますが、そこには本当に役立つ人々がいます。

于 2012-08-26T10:20:56.980 に答える
8

パラメータOptions FollowSymLinksを使用すると、他のファイル/ディレクトリを指すシンボリックリンクをWebルートに含めることができます。これを無効にすると、Apacheはそのようなシンボリックリンクをたどることを拒否します。代わりに、より安全なOptions SymLinksIfOwnerMatchものを使用できます。これにより、自分が所有する他のファイルにのみリンクできるようになります。

OptionsメインのApache設定で禁止されているパラメータでdirectiveinを使用する.htaccessと、サーバーはHTTP500エラーコードを返します。

許可されるオプションは、メインのApache設定ファイルの.htaccessディレクティブによって定義されます。AllowOverrideシンボリックリンクを許可するには、このディレクティブをAllまたはに設定する必要がありますOptions

シンボリックリンクの使用を許可することに加えて、このディレクティブは、コンテキストでmod_rewriteを有効にするためにも必要です.htaccessただし、このために、より安全なSymLinksIfOwnerMatchオプションを使用することもできます。

于 2015-06-18T09:42:45.707 に答える
6

サーバーは、WebサイトにアクセスしてWebブラウザーで/ system / files / imagesフォルダーを参照するときに、/ picturesフォルダーからimage.pngをプルする必要があることをどのように認識しますか?いわゆるシンボリックリンクは、この動作の責任者です。システムのどこかに、サーバーに「訪問者が/system/files/images/image.pngを要求した場合は、/ pictures/image.pngを表示する」というシンボリックリンクがあります。

そして、これにおけるFollowSymLinks設定の役割は何ですか?

FollowSymLinksはサーバーのセキュリティに関連しています。Webサーバーを扱う場合、物事を未定義のままにすることはできません。誰が何にアクセスできるかを伝える必要があります。FollowSymLinks設定は、サーバーがシンボリックリンクをたどるべきかどうかをサーバーに指示します。つまり、この場合、FollowSymLinksが無効になっている場合、/ system / files / images / image.pngファイルを参照すると、他の設定に応じて403(アクセス禁止)または404(見つからない)エラーが返されます。

http://www.maxi-pedia.com/FollowSymLinks

于 2014-11-04T10:10:11.227 に答える