Yii中如何得到干净漂亮网址(Yii how to get clean and pretty URL

2019-06-26 17:47发布

我是新手Yii框架。 我已经在配置文件中注释掉的URL经理,并得到像这样的URL方案:

http://localhost/mysite/index.php/displayAll

我不想在URL中的index.php。 所以我想一个url像这样的一些事情

http://localhost/mysite/displayAll

要做到这一点,我该怎么办。 我没有与URL经理和一些htaccess的,但没有顺利发挥。

请帮忙

Answer 1:

尝试:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?mysite/(.*)$ /mysite/index.php/$1 [L]


Answer 2:

在你的.htaccess你应该有这样的:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

然后,你必须urlManager组件添加到您的主配置文件:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'showScriptName'=>false,
            'rules'=>array(
                'pattern1'=>'route1',
                'pattern2'=>'route2',
                'pattern3'=>'route3',
            ),
        ),
    ),
);

注意“showScriptName” =>假 ,这将隐藏“的index.php”从所生成的URL。

要查找有关的Yii的网址经理都检查了Yii中的文档在这个话题: http://www.yiiframework.com/doc/guide/1.1/en/topics.url



Answer 3:

在httpd.conf中查找,

     LoadModule rewrite_module modules/mod_rewrite.so 

(如果尚未删除从行首删除#)。

              OR 
     In wamp click on wampserver-> Apache -> Apache Modules and enable rewrite_module.

在你的index.php是目录中创建的.htaccess,并粘贴以下代码:

IndexIgnore */*
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

而在保护/配置/ main.php

 'urlManager' => array(
    'urlFormat' => 'path',
    'showScriptName' => false,
    'rules' => array(
       '<controller:\w+>/<id:\d+>' => '<controller>/view',
       '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
       '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
     ),
 ),

如果仍然没有得到干净的url,转到虚拟主机配置文件“的httpd的虚拟主机”柜面您正在使用它,在你的配置贴,

 <Directory "C:/wamp/www">
    AllowOverride All 
 </Directory> 


Answer 4:

上IIS 7,IIS 7.5,IIS 8,IIS 8.5,IIS 10

  1. 请确保您有安装URL重写模块 。 可以在这里找到: http://www.iis.net/downloads/microsoft/url-rewrite

  2. 除去从配置/ main.php配置/ web.php评论

      'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ], 
  3. 创建web目录基本/网络/ web.config中的新文件,并添加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> 

实施例的结果: HTTP://本地主机/基本/网络/站点/接触



文章来源: Yii how to get clean and pretty URL