沃梦达 / 编程问答 / php问题 / 正文

Codeigniter htaccess 删除 index.php 和 www

Codeigniter htaccess to remove index.php and www(Codeigniter htaccess 删除 index.php 和 www)

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

问题描述

我试图让我的 htaccess 重写规则从 url 中删除 index.php 并且还将 www. 请求重定向到非 www 版本.

I'm trying to get my htaccess rewrite rules to remove the index.php from the url AND also redirect the www. requests to the non-www version.

这是我的 htaccess,它可以很好地删除 index.php:

This is my htaccess which works fine with removing the index.php:

RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

我遇到了另一个关于如何删除 www 部分的问题:

And I came across another question on how to remove the www part:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

但我似乎无法让他们一起玩得很好!任何意见/建议最感谢!

But I just cant seem to get them to play nicely together! Any advice/suggestions most appreciated!

推荐答案

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

RewriteEngine On开始"重写.RewriteCondRewriteRule 成对工作.在这里,我们首先将用户发送到非 www 版本,并清理 URL.

RewriteEngine On "starts" rewriting. RewriteCond and RewriteRule work as pairs. Here, we send user to non-www version first, and cleans URLs.

这篇关于Codeigniter htaccess 删除 index.php 和 www的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Codeigniter htaccess 删除 index.php 和 www