本文介绍了取出需要的Yii上写的index.php的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经安装的Yii 1.1.x版本在我的WAMP的环境,这一切工作但是我还是需要使用的index.php在URL中的路由工作。

现代重写已经在我的WAMP的配置被启用。

任何人能解释什么,我需要改变,让我不必在URL中的index.php运行应用程序?

我的Yii的配置如下:

  //取消以下,使路径格式的URL
urlManager'=>阵列(
    urlFormat'=>'路',
    规则=>阵列(
            '<控制器:\ w +> /< ID:\ D +>'=>'<控制器> /观点,
            '<控制器:\ w +> /<作用:\ w +> /< ID:\ D +>'=>'<控制器> /<作用>',
            '<控制器:\ w +> /<作用:\ w +>'=>'<控制器> /<作用>',
    ),
    showScriptName'=>假的,
),
 

我的htaccess如下所示:

 选项+了FollowSymLinks
 IndexIgnore * / *
 RewriteEngine叙述上

 #如果一个目录或文件是否存在,直接使用它
 的RewriteCond%{} REQUEST_FILENAME!-f
 的RewriteCond%{} REQUEST_FILENAME!-d

 #否则将其转发到index.php
 重写规则。的index.php
 

解决方案

更​​改您的的.htaccess 文件将此

 < ifModule mod_rewrite.c>
#打开发动机:
RewriteEngine叙述上
#不要执行存在重定向文件和目录:
的RewriteCond%{} REQUEST_FILENAME!-f
的RewriteCond%{} REQUEST_FILENAME!-d
#对于一切,重定向到的index.php:
重写规则^(。*)$的index.php?/ $ 1 [L,QSA]
< / ifModule>
 

注: - 将其保存为 WWW / yourProject /的.htaccess

I've setup Yii 1.1.x on my WAMP environment, it all works however I am still need to use index.php in the URL for the routing to work.

Mod rewrite has been enabled in my WAMP config.

Can anyone explain what I need to alter to allow me to run the app without having index.php in the URL itself?

My Yii config is as follows:

// uncomment the following to enable URLs in path-format        
urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
    ),
    'showScriptName'=>false,
),

My htaccess looks like the following:

 Options +FollowSymLinks
 IndexIgnore */*
 RewriteEngine on

 # if a directory or a file exists, use it directly
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d

 # otherwise forward it to index.php
 RewriteRule . index.php
解决方案

change your .htaccess file to this

<ifModule mod_rewrite.c>
# Turn on the engine:
RewriteEngine on
# Don't perform redirects for files and directories that exist:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# For everything else, redirect to index.php:
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</ifModule>

Note:- save it as www/yourProject/.htaccess

这篇关于取出需要的Yii上写的index.php的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 07:09