问题描述
我试图让我的 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
开始"重写.RewriteCond
和 RewriteRule
成对工作.在这里,我们首先将用户发送到非 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!