Mohammad Rouhani
2 ماه پیش توسط Mohammad Rouhani مطرح شد
1 پاسخ

مشکل لایووایر بر روی هاست

با سلام من پروژه لاروال - لایووایر 3 را بر روی سرور حقیق آپلود کردم . ولی موقع درخواست ها خطای زیر مانع می شود:
https://myhost.ir/zakani/public/vendor/livewire/update 404 (Not Found)
"https:/myhost.ir/zakani/public/vendor/livewire/update".
در حالی که در پوشه vendor/livewire فایل های زی همه موجود است:
livewire.esm.js , livewire.js , mainfest.json
همچنین در فایل web.php دستورات زیر وجود دارد:
Livewire::setScriptRoute(function ($handle) {
return Route::get('/zakani/public/vendor/livewire/livewire.js', $handle);
});
Livewire::setUpdateRoute(function ($handle)
{
return Route::post('/zakani/public/vendor/livewire/update', $handle);
});


ثبت پرسش جدید
علی جنگی
تخصص : Web developer-Cyber ​​lawyer
@jangi 2 ماه پیش مطرح شد
0

مشکل 404 به این معنی است که درخواست شما به فایل یا مسیر مورد نظر در سرور نمی‌رسد. در مورد مشکل شما چند نکته می‌تواند مطرح باشد:

1. پیکربندی صحیح مسیرها:

به نظر می‌رسد مشکل اصلی شما از این باشد که مسیرها در web.php به درستی پیکربندی نشده‌اند. در لاراول و لایووایر نیازی به دستی تنظیم این مسیرها ندارید. پیشنهاد می‌کنم این بخش‌ها را به صورت پیش‌فرض رها کنید:

// این بخش‌ها را از فایل web.php حذف کنید
Livewire::setScriptRoute(function ($handle) {
    return Route::get('/zakani/public/vendor/livewire/livewire.js', $handle);
});

Livewire::setUpdateRoute(function ($handle) {
    return Route::post('/zakani/public/vendor/livewire/update', $handle);
});

لایووایر به طور پیش‌فرض خودش این مسیرها را تنظیم می‌کند.

2. پیکربندی APP_URL:

در فایل .env مطمئن شوید که مقدار APP_URL به درستی تنظیم شده باشد:

APP_URL=https://myhost.ir/zakani

اگر این مقدار درست نباشد، ممکن است درخواست‌ها به مسیر نادرست هدایت شوند.

3. پیکربندی .htaccess:

مطمئن شوید که فایل .htaccess در دایرکتوری public به درستی تنظیم شده باشد. اگر سرور شما از آپاچی استفاده می‌کند، باید یک فایل .htaccess مانند زیر داشته باشید:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

4. پرمیشن‌ها و دسترسی‌ها:

مطمئن شوید که دسترسی‌های لازم برای پوشه‌ها و فایل‌های vendor به درستی تنظیم شده باشد. برای مثال:

chmod -R 755 vendor/
chown -R www-data:www-data vendor/

این دستورات را در صورتی که دسترسی به سرور داشته باشید می‌توانید اجرا کنید.

5. تست در محیط لوکال:

اگر پروژه در محیط لوکال (Localhost) به درستی کار می‌کند، پس از اطمینان از عملکرد صحیح، مجدداً فایل‌ها را بر روی سرور آپلود کنید و دقت کنید که فایل‌ها و پوشه‌ها به درستی آپلود شده باشند.

6. پاک‌سازی کش لایووایر:

ممکن است کش‌های قبلی لایووایر باعث این مشکل شده باشند. با استفاده از دستورات زیر می‌توانید کش لاراول و لایووایر را پاک‌سازی کنید:

php artisan view:clear
php artisan config:clear
php artisan cache:clear
php artisan livewire:discover

با انجام مراحل بالا، به احتمال زیاد مشکل شما برطرف خواهد شد.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام