2016-07-26 3 views
0

Wenn ich die URL eingeben:Entfernen eines Teils der URL in Yü 2.0

http://localhost/third/web/calculator 

es funktioniert gut. Ich möchte jetzt den web Teil von der URL entfernen. Ich habe derzeit keine .htaccess. Und wenn ich http://localhost/third/calculator gebe, wird das Objekt nicht gefunden angezeigt.

Ich habe diese .htaccess im Stammordner des Projekts:

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{REQUEST_URI} ^/third/(assets|css) 
RewriteRule ^assets/(.*)$ web/assets/$1 [L] 
RewriteRule ^css/(.*)$ web/css/$1 [L] 

RewriteCond %{REQUEST_URI} !^/third/web/(assets|css)/ 
RewriteCond %{REQUEST_URI} !index.php 
RewriteCond %{REQUEST_FILENAME} !-f [OR] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ web/index.php 

Nun, wenn ich http://localhost/third/calculator eingeben es zeigt die Glückwünsche Seite von yii2 anstelle der Rechner Seite. Wenn Sie in andere Tabs wie Login mit Link <a href="<?php echo Yii::$app->request->baseUrl;?>/login"><span class="glyphicon glyphicon-log-in"></span> Login</a> klicken, zeigt die URL das Web noch.

+0

hallo . Ich habe dieses Tutorial zum Entfernen von Web von URL verwendet http://tutsnare.com/remove-web-from-url-in-yii2/ – yafater

Antwort

1

Zuerst ändern Sie config-> web.php

'components' => [ 
    'urlManager' => [ 
     'class' => 'yii\web\UrlManager', 
     'enablePrettyUrl' => true, 
     'showScriptName' => false, 
    ], 
] 

hinzufügen .htaccess Datei in Ihrem Projekt Stammverzeichnis

# prevent directory listings 
Options -Indexes 
IndexIgnore */* 

# follow symbolic links 
Options FollowSymlinks 
RewriteEngine on 
RewriteRule ^(/.+)?$ web/$1 [L,PT] 
RewriteRule ^(.+)?$ web/$1 

auch Sie .htaccess Datei in your_project hinzufügen müssen -> web directory

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 
+0

versuchte genau dies. aber wenn ich http: // localhost/third/calculator eintrage zeigt es die Glückwunschseite von yii2.Und wenn ich in andere Tabs klicke zeigt die URL das Web an. – Steve

+0

ich benutze das schon. funktionieren perfekt – vishuB

0

Hier ist meine Einstellungen:

1).htaccess im Stammordner

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/(web) 
RewriteRule (.*) web/$1 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . web/index.php 
</IfModule> 

2)config/web.php

'components' => [ 
    'request' => [ 
     // ... 
     'baseUrl' => '' // don't forget about this string 
    ], 
    // ... 
    'urlManager' => [ 
     'enablePrettyUrl' => true, 
     'showScriptName' => false, 
     'enableStrictParsing' => true, 
     'rules' => [ 
      // ... 
     ], 
    ], 
], 
Verwandte Themen