علی
6 سال پیش توسط علی مطرح شد
13 پاسخ

خطا در دو زبانه کردن سایت

سلام دوستان من میخام وب سایت دو زبانه باشه و یک مشکل بزرگ برخوردم . الان وب سایتم در هاست هست و وقتی
/fa رو میزنیم درست کار میکنه ولی وقتی /en رو میزنیم اصلا کار نمیده و این خطا رو میده
Forbidden
You don't have permission to access /en/ on this server.

تمام قسمت ها رو حتی داخل فایل index.php من تست کردم اصلا داخل این فایل هم نمیشه حالا جالبیش اینه اکر من بنویسم به عنوان مثال /eng درست کار میکنه . ولی خب من میخام en باشه . دلیلش چی میتونه باشه بنطرتون


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

روت هارو چک کردید؟


علی
تخصص : Laravel
@alif 6 سال پیش مطرح شد
0

یعنی چی ؟ ببینین همه چی کار میکنه جز en


محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 6 سال پیش آپدیت شد
1

پوشه en شما دسترسی مناسبی نداره. از داخل هاست پوشه en رو چک کنید که permission = 0755 و فایل های داخل پوشه permission = 0644 رو داشته باشند.
فقط توجه کنید که تمام پوشه های داخل en هم باید دارای سطح دسترسی 0755 باشند و تمام فایل ها 0644.


علی
تخصص : Laravel
@alif 6 سال پیش مطرح شد
0

نه تمام دسترسی هم مثل هم بود هیچی فرق نداشت


mroshangara
@mroshangara 6 سال پیش مطرح شد
4

یه مقدار بیشتر توضیح بدید، مثلا از چه زبان و یا فریم‌ورک‌ی استفاده میکنید با چه ماژولی قصد دوزبانه کردن رو دارید و اطلاعاتی که بتونه کمک کنه راحت تر به نتیجه رسید.


علی
تخصص : Laravel
@alif 6 سال پیش آپدیت شد
0

بله چشم
خب من از لاراول استفاده میکنم. از قابلیت های همین فریم روک استفاده میکنم.


علی
تخصص : Laravel
@alif 6 سال پیش آپدیت شد
0

Middleware/LanguageMiddleware.php

public function handle($request, Closure $next)
    {
        $locale = $request->segment(1);
        if (!array_key_exists($locale, config('app.locales'))) {
            $segments = $request->segments();
            $segments[0] = config('app.fallback_locale');
            return redirect(implode('/', $segments));

        }
        app()->setLocale($locale);
        return $next($request);
    }

علی
تخصص : Laravel
@alif 6 سال پیش مطرح شد
0

Config/app.php

    'locale' => 'fa',
    'locales' => ['fa' => 'Persian', 'en' => 'English'],
    'fallback_locale' => 'fa',

علی
تخصص : Laravel
@alif 6 سال پیش مطرح شد
0

RouteServiceProvider.php

  protected function mapWebRoutes()
    {
        $locale = request()->segment(1);
        app()->setLocale($locale);

        Route::middleware('web')
            ->namespace($this->namespace)
            ->prefix($locale)
            ->group(base_path('routes/web.php'));
    }

علی
تخصص : Laravel
@alif 6 سال پیش مطرح شد
0

سه فایل بالا فایلهایی هستند که نوشته شده طبق آموزش استاد در دوره لاراول
ولی نمیدونم en کار نیمکنه
eng کار میکنه فقط مشکل en هست


محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 6 سال پیش مطرح شد
0

یعنی شما وقتی گوشه fa رو کپی می کنید و اسمش رو تغییر میدید به en باز همین مشکل هست؟


علی
تخصص : Laravel
@alif 6 سال پیش مطرح شد
0

@dr-code.ir بله دقیقا


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد
0

سلام
@alif
\resources\lang
داخل این مسیر چه پوشه هایی با چه نام هایی دارید
یه شاخه بندی کنید ببینید چیا توشه !


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

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