0

flv ファイルをアップロードできるコンテンツ タイプのカスタム アップロード フィールドがあります。そして、私はそれを再生する私のテーマにjwプレーヤーを持っています。私のローカルホストではすべて正常に動作します。しかし、それをアップロードした後、それが表示されますAccess Denied or File not found Error.

files フォルダのパーミッションを確認しましたが、問題ないようです。ファイルへのリンクを直接入力しても、ページが見つかりません。

何が問題ですか?何ができるでしょうか?私は使用して絶対URLをprint $base_url試してみましたが、print $base_pathどちらもローカルホストでうまく機能しました。

更新: image_cache のサムネイルやアップロードされた画像にもアクセスできません。これはちょっと奇妙です。私はこれを理解することはできません。

.htacess は、localhost とサーバーで同じです。しかし、なぜサーバーでしかアクセスできないのですか? すべての試行について、ログとその show pagenotfound エラーを確認しました。

私の .htaccess ファイル:

> #
> # Apache/PHP/Drupal settings:
> #
> # Protect files and directories from prying eyes. <FilesMatch
> "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
> Order allow,deny </FilesMatch>
> # Don't show directory listings for URLs which map to a directory. Options
> -Indexes
> 
> 
> 
> # Make Drupal handle any 404 errors. ErrorDocument 404 /index.php
> 
> # Force simple error message for requests for non-existent favicon.ico.
> <Files favicon.ico>   # There is no
> end quote below, for compatibility
> with Apache 1.3.   ErrorDocument 404
> "The requested file favicon.ico was
> not found. </Files>
> 
> # Set the default handler. DirectoryIndex index.php
> 
> # Override PHP settings. More in sites/default/settings.php
> # but the following cannot be changed at runtime.
> 
> # PHP 4, Apache 1. <IfModule mod_php4.c>   php_value
> magic_quotes_gpc                0  
> php_value register_globals            
> 0   php_value session.auto_start      
> 0   php_value mbstring.http_input     
> pass   php_value mbstring.http_output 
> pass   php_value
> mbstring.encoding_translation   0
> </IfModule>
> 
> # PHP 4, Apache 2. <IfModule sapi_apache2.c>   php_value
> magic_quotes_gpc                0  
> php_value register_globals            
> 0   php_value session.auto_start      
> 0   php_value mbstring.http_input     
> pass   php_value mbstring.http_output 
> pass   php_value
> mbstring.encoding_translation   0
> </IfModule>
> 
> # PHP 5, Apache 1 and 2. <IfModule mod_php5.c>   php_value
> magic_quotes_gpc                0  
> php_value register_globals            
> 0   php_value session.auto_start      
> 0   php_value mbstring.http_input     
> pass   php_value mbstring.http_output 
> pass   php_value
> mbstring.encoding_translation   0
> </IfModule>
> 
> # Requires mod_expires to be enabled. <IfModule mod_expires.c>   # Enable
> expirations.   ExpiresActive On
> 
>   # Cache all files for 2 weeks after
> access (A).   ExpiresDefault A1209600
> 
>   <FilesMatch \.php$>
>     # Do not allow PHP scripts to be cached unless they explicitly send
> cache
>     # headers themselves. Otherwise all scripts would have to overwrite
> the
>     # headers set by mod_expires if they want another caching behavior.
> This may
>     # fail if an error occurs early in the bootstrap process, and it may
> cause
>     # problems if a non-Drupal PHP file is installed in a subdirectory.
>     ExpiresActive Off   </FilesMatch> </IfModule>
> 
> # Various rewrite rules. <IfModule mod_rewrite.c>   RewriteEngine on
> 
>   # If your site can be accessed both
> with and without the 'www.' prefix,
> you   # can use one of the following
> settings to redirect users to your
> preferred   # URL, either WITH or
> WITHOUT the 'www.' prefix. Choose ONLY
> one option:   #   # To redirect all
> users to access the site WITH the
> 'www.' prefix,   #
> (http://example.com/... will be
> redirected to
> http://www.example.com/...)   # adapt
> and uncomment the following:   #
> RewriteCond %{HTTP_HOST}
> ^example\.com$ [NC]   # RewriteRule
> ^(.*)$ http://www.example.com/$1
> [L,R=301]   #   # To redirect all
> users to access the site WITHOUT the
> 'www.' prefix,   #
> (http://www.example.com/... will be
> redirected to http://example.com/...) 
> # uncomment and adapt the following:   # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]   #
> RewriteRule ^(.*)$
> http://example.com/$1 [L,R=301]
> 
>   # Modify the RewriteBase if you are
> using Drupal in a subdirectory or in a
> # VirtualDocumentRoot and the rewrite rules are not working properly.   #
> For example if your site is at
> http://example.com/drupal uncomment
> and   # modify the following line:   #
> RewriteBase /drupal   #   # If your
> site is running in a
> VirtualDocumentRoot at
> http://example.com/,   # uncomment the
> following line:   # RewriteBase /
> 
>   # Rewrite URLs of the form 'x' to
> the form 'index.php?q=x'.  
> RewriteCond %{REQUEST_FILENAME} !-f  
> RewriteCond %{REQUEST_FILENAME} !-d  
> RewriteCond %{REQUEST_URI}
> !=/favicon.ico   RewriteRule ^(.*)$
> index.php?q=$1 [L,QSA] </IfModule>
> 
> # $Id: .htaccess,v 1.90.2.5 2010/02/02 07:25:22 dries Exp $

ファイル ディレクトリの .htacess:

> SetHandler
> Drupal_Security_Do_Not_Remove_See_SA_2006_006
> Options None Options -FollowSymLinks
4

3 に答える 3

0

.htaccess ファイルを Drupal のルート ディレクトリにアップロードしたことを確認してください。

サイトはドメインのルートまたはサブディレクトリで実行されていますか? サブディレクトリにある場合は、.htaccess ファイルに RewriteBase を設定する必要がある場合があります。

[管理] > [レポート] > [ステータス レポート]ページをチェックして、エラー メッセージがあるかどうかを確認します。

その他のエラーについては、[管理] > [レポート] > [最近のログ エントリ]を確認してください。

于 2011-01-22T08:19:00.670 に答える
0

ファイル ディレクトリに別の htaccess があるはずです。このファイルに設定された権限は、ルート レベルで設定された権限を上書きします。別の方法として、ファイルを処理するように Drupal を設定することもできます (プライベート ファイルシステム オプション)。ファイルを非公開に設定すると、パフォーマンスに影響があることに注意してください。

于 2011-01-22T09:47:01.453 に答える