webman静态 फ़ाइलों को संभालना
webman静态 फ़ाइलों की पहुँच का समर्थन करता है, सभी静态 फ़ाइलें public
निर्देशिका में रखी जाती हैं, जैसे कि访问 http://127.0.0.8787/upload/avatar.png
वास्तव में访问 {मुख्य परियोजना निर्देशिका}/public/upload/avatar.png
है।
नोट
/app/xx/फाइल का नाम
से शुरू होने वाली静态 फ़ाइलों की पहुँच वास्तव में अनुप्रयोग प्लगइन कीpublic
निर्देशिका की पहुँच है, अर्थात्{मुख्य परियोजना निर्देशिका}/public/app/
के तहत निर्देशिका पहुँच का समर्थन नहीं है।
अधिक जानकारी के लिए अनुप्रयोग प्लगइन देखें।
静态 फ़ाइल समर्थन बंद करें
यदि आपको静态 फ़ाइल समर्थन की आवश्यकता नहीं है, तो config/static.php
में enable
विकल्प को false में बदलें। बंद करने पर सभी静态 फ़ाइलों की पहुँच 404 वापस करेगी।
静态 फ़ाइल निर्देशिका बदलें
webman默认 public
目录 का उपयोग静态 फ़ाइल目录 के रूप में करता है। यदि आपको इसे बदलने की आवश्यकता है तो कृपया support/helpers.php
मेंpublic_path()
सहायक फ़ंक्शन को बदलें।
静态 फ़ाइल Middleware
webman自带一个静态 फ़ाइल Middleware,位置为 app/middleware/StaticFile.php
。
कभी-कभी हमें静态 फ़ाइलों पर कुछ कार्रवाई करने की आवश्यकता होती है, जैसे कि静态 फ़ाइलों में क्रॉस-डोमेन HTTP हेडर जोड़ना, या बिंदु (.
) से शुरू होने वाली फ़ाइलों को पहुँच से प्रतिबंधित करना इस Middleware का उपयोग करके किया जा सकता है।
app/middleware/StaticFile.php
का सामग्री इस प्रकार हो सकती है:
<?php
namespace support\middleware;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;
class StaticFile implements MiddlewareInterface
{
public function process(Request $request, callable $next) : Response
{
// .से शुरू होने वाली छिपी फ़ाइलों की पहुँच प्रतिबंधित करें
if (strpos($request->path(), '/.') !== false) {
return response('<h1>403 forbidden</h1>', 403);
}
/** @var Response $response */
$response = $next($request);
// क्रॉस-डोमेन HTTP हेडर जोड़ें
/*$response->withHeaders([
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Credentials' => 'true',
]);*/
return $response;
}
}
यदि इस Middleware की आवश्यकता है, तो आपको config/static.php
में middleware
विकल्प को सक्रिय करना होगा।