Htaccess Yii 2 Configuration
Je suis en train de travailler sur un Yii2 Projet et le mettre en place sur Wamp en Localhost. Mon Wamp, j'ai créé un alias:
Alias /project "c:/Users/Shaun/Desktop/projects/project/web/"
<Directory "c:/Users/Shaun/Desktop/projects/project/web/">
AllowOverride all
</Directory>
Dans une application de base j'ai mis le fichier htaccess dans le répertoire web (où il est actuellement pointant vers)
projet/web/.htaccess
project/web/index.php
project/web/index-test.php
mod_rewrite est définitivement activé, j'ai vérifié. Je peux accéder à ma racine sans problème:
C'est mon fichier htaccess comme le montre la Yii2 docs.
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
http://localhost/project/
Quand j'ai accédez à l'url ci-dessus j'ai touché mon SiteController action Index amende. Mais quand j'essaie d'aller par exemple:
http://localhost/project/site/index
Il déclare:
L'URL demandée /Users/Shaun/Desktop/projects/project/web/index.php n'a pas été trouvée sur ce serveur.
Mais c'est certainement là?! Si vous voyez mon web.php configuration en tant que composante j'ai activé:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
]
Toujours pas à le trouver. Mais si je fais cela, il montre les routes amende:
http://localhost/project/index.php/site/index
Tellement frustrant que je ne veux pas de cela. Quel est le problème ici?
Merci,
- est le module rewrite est activé?
- "mod_rewrite est définitivement activé, j'ai vérifié"
- mes excuses j'ai raté la ligne en question, cela m'arrive quand mod_rewrite n'est pas activé correctement, ou .htaccess n'a pas les autorisations de fichier correctement définie(ne devrait pas être un problème pour vous que vous êtes sur windows).., essayez de régler une même directement dans votre conf apache au lieu de l'écrasement, et de redémarrer le serveur entièrement,
Vous devez vous connecter pour publier un commentaire.
Parce que vous travaillez sur le répertoire virtuel (par exemple, l'Alias /site/"/dir/"), vous devez utiliser
dans votre fichier de configuration d'apache.
La structure de votre Projet semble un peu inhabituelle.
Est-il un autre dossier du projet dans le dossier web ?
Si la réponse est oui, vous devez mettre l' .htaccess dans ce dossier de projet.
Mais si le dossier de projet contient web, il est tout à fait inhabituelle. Mais aussi dans ce cas, l' .fichier htaccess doit être dans le dossier du projet.
Ensemble
AllowOverride All
dans httpd.conf ou votre vhost conf.C'est obligatoire de travailler avec de jolies URLs.
Vous avez à changer les trois fichiers.
base > .htaccess
base > web > .htaccess
base > config > web.php
Utiliser le code donné dans l'url ci-dessous.
http://www.codematrics.com/htaccess-in-yii2-basic-app/
Cela va vous aider.