سلام دوستان من میخام وب سایت دو زبانه باشه و یک مشکل بزرگ برخوردم . الان وب سایتم در هاست هست و وقتی
/fa رو میزنیم درست کار میکنه ولی وقتی /en رو میزنیم اصلا کار نمیده و این خطا رو میده
Forbidden
You don't have permission to access /en/ on this server.
تمام قسمت ها رو حتی داخل فایل index.php من تست کردم اصلا داخل این فایل هم نمیشه حالا جالبیش اینه اکر من بنویسم به عنوان مثال /eng درست کار میکنه . ولی خب من میخام en باشه . دلیلش چی میتونه باشه بنطرتون
پوشه en شما دسترسی مناسبی نداره. از داخل هاست پوشه en رو چک کنید که permission = 0755 و فایل های داخل پوشه permission = 0644 رو داشته باشند.
فقط توجه کنید که تمام پوشه های داخل en هم باید دارای سطح دسترسی 0755 باشند و تمام فایل ها 0644.
یه مقدار بیشتر توضیح بدید، مثلا از چه زبان و یا فریمورکی استفاده میکنید با چه ماژولی قصد دوزبانه کردن رو دارید و اطلاعاتی که بتونه کمک کنه راحت تر به نتیجه رسید.
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);
}
Config/app.php
'locale' => 'fa',
'locales' => ['fa' => 'Persian', 'en' => 'English'],
'fallback_locale' => 'fa',
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'));
}
سه فایل بالا فایلهایی هستند که نوشته شده طبق آموزش استاد در دوره لاراول
ولی نمیدونم en کار نیمکنه
eng کار میکنه فقط مشکل en هست
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟