راکت
mm
mm
توسط mm مطرح شد
حل
13 پاسخ

ارور 404 بعد از رفرش شدن صفحه

@hossein.r.1442
سلام
سایت همه چیز نرمال کار میکنه فقط اگه مثلا تو یک صفحه فرعی باشم و رفرش بدم ارور 404 بهم میده اگه رفرش ندم هیچ مشکلی نداره و همه چیز درست کار میکنه توضیح اینکه فرانت reactJs هستش و بک laravel


404
Not Found

The resource requested could not be found on this server
```!

ثبت پرسش جدید
mm
mm
@mahdi72ah6 سال پیشمطرح شد
1

سلام دوستان مشکل حلش کردم اینم میزارم برای دوستان عزیزم که اگه احیانا به مشکل من خوردن
اول اینکه باید در داکیومنت روت دامنه که public_html هستش باید یک فایل htaccess داشته باشید و این کد را قرار دهید

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
-3

کدهاتون رو چک کنید و صفحات اصلی رو با فرعی مقایسه کنید مشکلتون حل میشه


Mohammad Amin Mokhtari
Mohammad Amin Mokhtari
تخصص :برنامه نویس
@amin.mokhtari946 سال پیشمطرح شد
0

سلام
شما باید تمامی route های لاراول رو به صفحه اصلی react لینک کنید، به این صورت:

Route::get('{path}', function () {
    return view('index'); //فایل برنامه react
})->where('path', '(.*)');

نکته ای که وجود داره اینه که، در لاراول اولویت route ها از بالا به پایین هستند، بهتر است اگه روتی برای خارج از react دارین رو اول بنویسین به عنوان مثال:

Route::get('other', function () {
    return view('other');
}
Route::get('{path}', function () {
    return view('index'); //فایل برنامه ویو
})->where('path', '(.*)');

در این مثال اگر آدرس

http://mysite.me/other

صدا زده بشود به view مربوط به خود هدایت می شود و در غیر این صورت به view مربوط به react هدایت می شود.


سید حسین رضوی
سید حسین رضوی
تخصص :برنامه نویس وب و طراح رابط کاربری
@hossein.r.14426 سال پیشمطرح شد
0

@arminamirinasab
واقعا کمک شایانی بود، کدهاتون رو بررسی کنید مشکلتون حل میشه؟ 🧐
منظورتون ار روت فرعی چیه دقیقا؟


mm
mm
@mahdi72ah6 سال پیشمطرح شد
0

@amin.mokhtari94
سلام
راه حلتون رو میشه بیشتر توضیح بدین

Route::get('{path}', function () {
    return view('index'); //فایل برنامه react
})->where('path', '(.*)');

منظورتان از به صفحه اصلی ری اکت صفحه هوم("/") هست یعنی حتی روتهای فرعی رو هم به صفحه هوم لینک کنم؟
این کدها در قسمت '{path}' و where('path', '(.*)') برام نامفهومه اولین باره میبینم
اگه ممکنه فرض کنید 10 تا روت دارید که در قسمت api لاراول هست اون 10 روت در قسمت api رو چطور میارید در قالب بالا ممنون میشم اگه لطف کنید بیشتر توضیح بدین تا موضوع برام اگه ممکنه بنویسید تا برا من دوستانی که به مشکل من میخورن قابل فهم باشه
روشن بشه
قبلا از محبت شما سپاسگذارم


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
0

اکثر ارور ها و باگ های برنامه نویسی سر مشکلات کوچیک هستند.خیلی از وقت ها با بررسی کد و درک کردن اون میشه باگ رو پیدا کرد.من از این روش استفاده کردم و نتیجه گرفتم.بعضی اوقات دیدم به خاطر یک سمیکالن تمام کد خراب شده.
@hossein.r.1442


mm
mm
@mahdi72ah6 سال پیشمطرح شد
0

@amin.mokhtari94
مثلا من 10 روت دارم که شامل متد گت و پست هست اینها رو چطور در قسمت روت api تغییر بدم اگه ممکنه دو تا مثال بزنید یکی برای روت با متد گت و یکی هم برای روت با متد پست
ممنونم


سید حسین رضوی
سید حسین رضوی
تخصص :برنامه نویس وب و طراح رابط کاربری
@hossein.r.14426 سال پیشمطرح شد
0

ببینید روت های گت و پست در اجرا مشکلی براتون ایجاد نمیکنه شما باتوجه به متد ارسالی میتونید به اون روت دسترسی داشته باشید مثلا

Route::get(/test', 'TestController@getMethod')->name('test.get');
Route::post(/test', 'TestController@postMethod')->name('test.post');

خوب حالا شما وقتی یه درخواست به صورت گت بفرستی به این آدرس روت اول اجرا میشه و اگه بصورت پست ارسال کنید روت دوم اجرا میشه


Mohammad Amin Mokhtari
Mohammad Amin Mokhtari
تخصص :برنامه نویس
@amin.mokhtari946 سال پیشمطرح شد
1

طبق این لینک برای هر روت میتونید شرایط محدودیت بذارید که از Regex برای چک کردن این شرط استفاده میکنه.
بهتون توصیه میکنم رج اکس رو یاد بگیرید (سرچ و تمرین)، سایت https://regex101.com/ هم برای تست کردن عایه.


mm
mm
@mahdi72ah6 سال پیشمطرح شد
0

@hossein.r.1442
سلام درسته دوست من
منظورم برای راه حلی بود که دوست عزیزمان در بالا دادن برای روتها که گفتن باید روتها رو تغییرش یدم
سایت من همه چیز درست کار میکنه ولی هم رفرش بدم ارور

404
Not Found

The resource requested could not be found on this server

میگیرم و گرنه اگه رفرش ندم هیچ گونه مشکلی ندارم
جهت یادآوری فرانت من ری اکت بود وبک اند لاراول


سید حسین رضوی
سید حسین رضوی
تخصص :برنامه نویس وب و طراح رابط کاربری
@hossein.r.14426 سال پیشمطرح شد
0

میشه یه تیکه از کدتون قرار بدید یعنی یک روت و تابعش رو قرار بدید شاید بهتر بشه کمک کرد


mm
mm
@mahdi72ah6 سال پیشمطرح شد
0

@hossein.r.1442

Route::get('/Bride/Show/{Bride}', 'BrideController@show');

  public function show(Bride $bride)
    {
        $comment = $bride->Comments()->where('status', 1)->get();
        $data = $bride->BrideGallaeys()->get();
        return response()->json(["bride" => $data, "comment" => $comment], 200);
    }}

سلام اولی روت داخل قسمت api هست و دومی تابع که توسط اون روت صدا زده میشه ولی وقتی در یک روت فرعی رفرش میزنم خطای 404 میگیرم


mm
mm
@mahdi72ah6 سال پیشمطرح شد
1

سلام دوستان مشکل حلش کردم اینم میزارم برای دوستان عزیزم که اگه احیانا به مشکل من خوردن
اول اینکه باید در داکیومنت روت دامنه که public_html هستش باید یک فایل htaccess داشته باشید و این کد را قرار دهید

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

سبحان دادخواه
سبحان دادخواه
تخصص :دانشجوی برنامه نویسی :)
@SobhanDadkhah6 سال پیشمطرح شد
0

@mahdi72ah
با سلام . پس بهتره جواب خودتون رو بعنوان بهترین پاسخ ثبت کنید


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

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