2016-03-23 6 views
2

TYPO3 Flow 2.3の統合リソースオブジェクトを使用して、プロジェクトのあらゆる種類のファイルをアップロードします。TYPO3フローリソースは終了なしで許可されますか?

/** 
* @var \TYPO3\Flow\Resource\Resource 
* @ORM\ManyToOne 
*/ 
protected $originalresource; 

そして流体の呼び出しは次のようになります::私たちのFileオブジェクト内の定義は、ユーザーがhostsのように終了せずにファイルをアップロードするまで、この星座で

<a class="filelink" data-icon="{file.filetype}" href="{f:uri.resource(resource: file.originalresource)}" target="_blank">{file.name}</a> 

すべてが正常に動作します。サーバーは通常のApacheエラースタイルでNot Foundと言っています。エンディングのないファイルはサポートされていますか?なぜこれが起こるのですか?

設定は次のとおりです。

TYPO3: 
    Flow: 
    resource: 
     storages: 
     defaultPersistentResourcesStorage: 
      storage: 'TYPO3\Flow\Resource\Storage\WritableFileSystemStorage' 
      storageOptions: 
      path: '%FLOW_PATH_DATA%Persistent/Resources/' 
     targets: 
     localWebDirectoryPersistentResourcesTarget: 
      target: 'TYPO3\Flow\Resource\Target\FileSystemSymlinkTarget' 
      targetOptions: 
      path: '%FLOW_PATH_WEB%_Resources/Persistent/' 
      baseUri: '_Resources/Persistent/' 

そして_Resources/Persistent/hostsファイルの作成シンボリックリンクは、ハッシュと実際のファイルを指して終わるファイルなしのドットで名前が付けられています。実際のファイルが存在します。

答えて

2

それはバグだとあなたがそれをここに報告することができます:フロー3.xのでhttps://jira.neos.io/

をそれが正常に動作しますが、リソース管理との大きな変化がありました。

Web/.htaccessに1行追加すると問題は解決するはずですが、最適な解決方法はわかりません。

# Perform rewriting of persistent resource files 
RewriteRule ^(_Resources/Persistent/.{40})/.+(\..+) $1$2 [L] 

# Add this line - consider security 
RewriteRule ^(_Resources/Persistent/.{40})/.+ $1. [L] 

そして、それはなぜ起こるか答える - 永続的なリソースがData/Persistent/Resources/<hash>にデフォルトで保存され、あなたがWeb/_Resources/Persistent/<hash>.extensionからそこにシンボリックリンクを持っているにしています。だから、標準シンボリックリンクは以下のようになります。

0c73666545d393d3d2d6b5a2039dceab56fb3aa2.txt -> /www/FLOW/23/Data/Persistent/Resources/0c73666545d393d3d2d6b5a2039dceab56fb3aa2 

ファイルに拡張子がない場合は、単に最後に

a94a8fe5ccb19ba61c4c0873d391e987982fbbd3. -> /www/FLOW/23/Data/Persistent/Resources/a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 

ドットだから、実際にはResourceViewHelper(FileSystemPublishingTarget)によって返されたリンクが正しいですが、最初の書き換えルールれます上記には拡張が必要です。 2番目のファイルを追加すると、ファイルを拡張子なしでキャッチして追加するだけです。最終的に正しいシンボリックリンクとハッシュおよびドットをマッチさせてください。

+0

バージョン3.xにアップグレードすることをお勧めしますか? – Pete

+0

それはあなた次第であり、あなたのプロジェクトによって異なります。私は現在のプロジェクトで3.xを使用していますが、以前はまだアップグレードしていません。 [変更された内容]を確認してください(http://flowframework.readthedocs.org/en/stable/TheDefinitiveGuide/PartV/ReleaseNotes/300.html)。リソース管理、セキュリティフレームワークの変更、およびphp7のサポートの追加は、3.xを話し、アップグレードは難しくありません。しかし、今のところ、この1行の.htaccessは、あなたの問題を解決するはずです。 –

関連する問題