Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Yii2 Framework .htaccess hide frontend/web and backend/web

URL içinde geçen frontend/web ve backend/web in gizlenmesi için Apache sunucularda .htaccess içinde gerekli değişikliklerin yapılması gerekir. .htaccess kök dizinde olmalı.

Options -Indexes

<IfModule mod_rewrite.c> 
  RewriteEngine on
  
  
  #backend için
  #RewriteRule ^adminpanel(/.+)?$ backend/web/$1 [L,PT] 
  RewriteRule ^adminpanel(.+)?$ backend/web/$1 [L,PT] 
  
  #frontend için
  RewriteRule ^(.+)?$ frontend/web/$1 
</IfModule>

# Deny accessing dot files
RewriteRule (^\.|/\.) - [F]

Kök dizine .htaccess ekleyip değişiklikleri yaptıktan sonra frontend/web dizininede aşağıdaki gibi .htaccess eklenmelidir.

frontend/web .htaccess

RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php

Daha sonra frontend/config/main.php içine aşağıdaki kodların eklenmesi gerekir.

use \yii\web\Request;
$baseUrl = str_replace('/frontend/web', '', (new Request)->getBaseUrl());

Kodlar eklendikten sonra aşağıdaki gibi olmalı:

<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);
#/frontend/web url'den silinecek
use \yii\web\Request;
$baseUrl = str_replace('/frontend/web', '', (new Request)->getBaseUrl());

return [
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'frontend\controllers',
	
    'components' => [
		
        ...

		'request' => [
			'baseUrl' => $baseUrl,#/frontend/web url'den silinecek
		],
		
        ...
    ],
    'params' => $params,
];

Kök dizine .htaccess ekleyip değişiklikleri yaptıktan sonra backend/web dizininede aşağıdaki gibi .htaccess eklenmelidir.

backend/web .htaccess

RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php

Daha sonra backend/config/main.php içine aşağıdaki kodların eklenmesi gerekir.

//backend/web url'den silinecek adminpanel olacak
use \yii\web\Request;
$baseUrl = str_replace('/backend/web', '/adminpanel', (new Request)->getBaseUrl());
 

Kodlar eklendikten sonra aşağıdaki gibi olmalı:

<?php
$params = array_merge(
    require __DIR__ . '/../../common/config/params.php',
    require __DIR__ . '/../../common/config/params-local.php',
    require __DIR__ . '/params.php',
    require __DIR__ . '/params-local.php'
);
#/backend/web url'den silinecek, /adminpanel olacak
use \yii\web\Request;
$baseUrl = str_replace('/backend/web', '/adminpanel', (new Request)->getBaseUrl());

return [
    'id' => 'app-backend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'backend\controllers',
	
    'components' => [
		
		...
        
        'request' => [
			'baseUrl' => $baseUrl,#/backend/web url'den silinecek, /adminpanel olacak
		],
		
        ...
    ],
    'params' => $params,
];
Yii2 Framework hide frontend/web hide backend/web .htaccess
0 Beğeni
Yii2 Framework
Önceki Yazı

Yii2 Framework get prev and next post

22 Ekim 2020 tarihinde yayınlandı.
Sonraki Yazı

Yii2 Framework Change layout File

22 Ekim 2020 tarihinde yayınlandı.
arrow