حذفindex.php در Yii2

برای حذف index.php    از آدرس url  ۲ کار باید انجام دهید .

کار اول: تنظیمات مربوط به سرور

در سرور iis  باید در web.config   کد زیر را قرار دهید

<?xml version="1.0″ encoding="UTF-8″?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="Hide Yii Index" stopProcessing="true">
<match url="." ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile"
ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory"
ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

توجه داشته باشین که web.config باید در فولدر web قرار گیرد .
در basic در مسیر root/web
و در advance در مسیر : root/frontend/web یا root/backend/web

در سرورهای appache در 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

کار دوم : فعال سازی urlmanager در main
که در advance در مسیر root/fronend/config/main.phpو یا root/backend/config/main.php
و در basic در مسیر root/config/web.php
کد زیر را از حالت کامنت خارج می کنیم

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *