Maison  >  Article  >  cadre php  >  yii url cacher index.php

yii url cacher index.php

藏色散人
藏色散人original
2020-09-07 10:14:252139parcourir

Comment masquer index.php dans l'url yii : ajoutez d'abord le fichier ".htaccess" dans le répertoire racine du web ; puis modifiez la configuration "config/web.php" et enfin remplacez "AllowOverride None" par " ; AllowOverride All" ;" C'est tout.

yii url cacher index.php

Recommandé : "Tutoriel vidéo PHP" "Tutoriel yii"

Le framework Yii permet l'embellissement des URL et masque index.php [Version 2.0]

embellissement des URL

Objectif : http://localtest/yii/web/index.php?r= hello/index

est embelli en : http://localtest/yii/web/hello/index

Ici, j'ai utilisé wampserver pour créer un nouveau site localtest (pour plus de détails, cliquez ici et cliquez ici) et renommez le dossier de base de yii en yii.

En comparant les deux adresses ci-dessus, il cache en fait index.php?r=.

Il y a deux étapes ici :

1. Ajoutez le fichier .htaccess

Ajoutez le fichier .htaccess dans le répertoire racine du Web, le contenu est :

RewriteEngine On
DirectoryIndex index.html index.php
# 如果是一个目录或者文件,就访问目录或文件
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php

Impossible de créer directement .htaccess, vous pouvez d'abord créer un fichier txt, puis l'enregistrer sous..., enregistrer le nom du fichier sous .htaccess et sélectionner tous les fichiers comme type d'enregistrement.

2. Configurez config/web.php. Ajoutez cet élément au tableau des composants dans config/web.php :

'urlManager' => [
    // //开启url美化
    'enablePrettyUrl' => true,
    // //隐藏index.php
    'showScriptName' => false,
    // //禁用严格匹配模式
    'enableStrictParsing' => false,
    // //url后缀名称
    // 'suffix'=>'.html',
    'rules' => [
    ],
],

À ce stade, vous pouvez modifier l'index.php?r dans l'URL = Supprimer, si une erreur 404 se produit, vous pouvez vérifier la configuration du serveur. J'utilise Apache intégré à phpstudy Vous devez vérifier la configuration

confhttpd.conf, activer le module mod_rewrite d'Apache

<.> et supprimez-le Le symbole "#" avant LoadModule rewrite_module modules/mod_rewrite.so;

Puis modifiez le AllowOverride d'Apache

Changez AllowOverride None en AllowOverride All;

Puisque je suis dans confextrahttpd Le site est configuré dans -vhosts.conf, je dois donc le synchroniser avec httpd-vhosts.conf et changer AllowOverride None du site correspondant en AllowOverride All ;

À ce stade, Je peux utiliser http://localtest/yii/web/hello/index

pour visiter http://localtest/yii/web/index.php?r=hello/index

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn