YII2 basic应用程序安装在'ims‘folder.The链接的本地主机下,如下所示
http://192.168.0.99/ims/web/ (主页)
http://192.168.0.99/ims/web/index.php?r=site%2Fabout (关于我们页面)
到目前为止我所做的是。
( 1)在web/..htaccess文件中
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
( 2)根.htaccess
Options -Indexes
RewriteEngine on
RewriteRule ^(.*)$ web/$1 [L]
3)在config/web.php中
'components' => [
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'baseUrl' => '/',
],
这解决了以下问题:
1)现在的链接是SEO友好的
2) index.php现在没有显示在url中
3)主页可以用http://192.168.0.99/ims/访问。
发布:-有关、联系人和登录链接现在更改为
http://192.168.0.99/site/about
http://192.168.0.99/site/contact
http://192.168.0.99/site/login
它遗漏了url 'ims‘中的基本文件夹名。对此有什么建议或想法吗?
注意:-我不希望使用Apache配置来实现这一点,也不希望将web文件夹的内容移到外部。我希望在不改变YII2 basic应用程序的结构的情况下,从url隐藏'web‘。
发布于 2015-12-30 10:40:15
我在这里回答我自己的问题:-
我唯一需要做的改变就是
'baseUrl' => '/', to 'baseUrl' => '/ims',
所以修改后的代码看起来像
'components' => [
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'baseUrl' => '/ims',
],
现在,我可以浏览所有的网页没有文本‘网页’。这是在不进行任何apache配置或移动根目录中的web文件夹的情况下实现的。:)
发布于 2018-03-31 09:50:48
到目前为止,这对我终于起作用了
1.在web/..htaccess文件中
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
2.然后在根.htaccess中
<code>
Options -Indexes
RewriteEngine on
RewriteRule ^(.*)$ web/$1 [L]
</code>
3.在config/web.php中
<code>
use \yii\web\Request;
$baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());
'components' => [
'request' => ['baseUrl' => $baseUrl,],
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
],
</code>
注意:只需删除config/web.php中的‘baseUrl’=‘/’
发布于 2016-06-24 12:16:07
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Options -Indexes
RewriteEngine on
RewriteRule ^(.*)$ web/$1 [L]
use \yii\web\Request;
$baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());
'components' => [
'request' => [
'baseUrl' => $baseUrl,
],
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'baseUrl' => '/',
],
https://stackoverflow.com/questions/34469693
复制相似问题