.htaccess文件配置(去掉url里面的index.php)无效url后面加/
昨天把网站放到服务器(linux)上面了,之前是在本地的windows服务器上面运行的,配置的
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^xxx.com$ [NC] RewriteRule ^index.php(.*)$ http://www.xxx/xxxi$1 [R=301,L] #R强制重定向,并且HTTP的相应码为302 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>这个文件在本地的时候是生效的,会补全url也可以省去url里面的index.php,但是在移植到服务器上面之后,前面补全url的可以代码可以生效,但是后面省去index.php的代码不生效了,搞了半天,不知道怎么回事,后台把php的运行模式改成了apache模块模式运行(本来是fastcgi)就ok了,但是开始在本地的时候php就是以fastcgi模式运行的啊,为什么呢???
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^(.*)/$ RewriteCond %{REQUEST_URI} !^(.*)(.html)$ RewriteRule ^(.*)$ http://www.xxx.com/xxx/$1/ [L,R=301] RewriteCond %{HTTP_HOST} ^xxx.com$ [NC] RewriteRule ^index.php(.*)$ http://www.xxx.com/xxx/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
url加上/
第一句,当请求的不是一个文件时(这个里面变量的和php全局变量SERVER里面的好像是一样的)
第二句,当请求的url不是以/结尾时
第三句,当请求的url不是以.html结尾时候
第四句,重定向到写的网址这个是正则匹配
再后面的就是省去index.php的操作了
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: jquery遍历三维数组形成的json