Եթե դուք տեղադրել եք Laravel-ը ձեր հիմնական դոմենում, ձեր public_html պանակում գտնվող հաշվի համար (հիմնական դոմենի հիմնական գրացուցակը), բայց չեք ցանկանում, որ ձեր այցելուները տեսնեն լռելյայն domain.com/public url-ը, ապա հետևեք այս քայլերին.
Տարբերակ 1
Symlink way (խորհուրդ է տրվում)
1. Ենթադրենք, որ դուք ունեք Laravel հավելված /home/user/laravel գրացուցակում։ (user-ը ձեր հոսթինգի հաշվի օգտանունն է)
- SSH-ի միջոցով մուտք գործեք ձեր սերվեր, կամ օգտագործեք cPanel-ի տերմինալը և մուտքի համար մուտքագրեք cd հօme:
- Կրկնօրինակեք public_html գրացուցակը, եթե դրա մեջ որևէ կարևոր ֆայլ ունեք:
- Ջնջեք public_html գրացուցակը` մուտքագրելով rm -rf public_html:
2. Այժմ ստեղծեք սիմվոլիկ հղում՝ public_html անունով, աշխատեցնելով ձեր Laravel հավելվածների հանրային գրացուցակը.
ln -s /home/user/laravel/public public_html
- Այժմ public_html-ը ձեր հավելվածների հանրային գրացուցակի սիմվոլիկ հղումն է:
- Եթե որևէ բան փոխվի ձեր հավելվածների հանրային գրացուցակում, այն անմիջապես հասանելի կլինի օգտագործողի համար:
Տարբերակ 2
.htaccess ֆայլի միջոցով
Փնտրեք .htaccess ֆայլերը ձեր public_html (կամ ձեր դոմենի root պանակում): Լռելյայնորեն, կետով ֆայլերը թաքնված է ձեր File Manager-ում: Բոլոր .files դիտելու համար մուտք գործեք ձեր cPanel և սեղմեք «File Manager», որտեղ դուք կկարողանաք տեսնել ձեր հաշվի բոլոր ֆայլերը: Թաքնված ֆայլերը (նաև կոչվում են «.» ֆայլեր) ցուցադրելու համար սեղմեք «Settings» կոճակը File Manager-ի աջ անկյունում: Եթե դեռ չեք կարողանում գտնել .htaccess ֆայլը, ստեղծեք Նոր Ֆայլ File Manager-ում՝ .htaccess անունով:
.htaccess ֆայլը բացելուց հետո ավելացրեք հետևյալ կոդը.
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Prevent direct access to the "public" folder - redirect to root
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /public/
RewriteRule ^public/(.*) /$1 [R=302,L]
# Redirect Trailing Slashes If Not A Folder...
# - but look for the file in the "public" folder
# (ensure we are not already in the "public" folder)
RewriteCond %{REQUEST_URI} !^/public/
RewriteCond %{DOCUMENT_ROOT}/public/$1 !-d
RewriteRule ^(.*)/$ /$1 [R=302,L]
# Rewrite "everything" to the "public" subdirectory if not already
# This ignores existing files/dirs in the document root
RewriteCond %{REQUEST_URI} ^/(.*)
RewriteRule !^public/ public/%1
# Handle Front Controller... (as before)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Սեղմեք «Save Your Changes»
Այս ամենից հետո դուք և ձեր այցելուները պետք է կարողանաք մուտք գործել ձեր Laravel-ի հանրային թղթապանակ domain.com-ի միջոցով: Հիշեք, որ գուցե ստիպված լինեք մաքրել ձեր բրաուզերի քեշը:
Եթե ցանկանում եք տեղադրել Laravel-ը ձեր public_html-ից տարբեր թղթապանակում (օրինակ, եթե դուք արդեն ունեք այլ կայք ձեր հիմնական դոմենի անվան վրա), մենք խորհուրդ ենք տալիս ստեղծել ենթադոմեն (օրինակ, laravel.domain.com): Laravel-ը նոր ստեղծված ենթադոմենի վրա տեղադրելուց հետո կարող եք հետևել վերը նշված քայլերին: Սա նույնպես վավեր է, եթե դուք տեղադրել եք Laravel-ը ձեր հաշվի տակ գտնվող addon դոմենում: