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

这是我的 htaccess,它可以很好地删除 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 部分的问题:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

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

最佳答案

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。

关于php - Codeigniter htaccess 删除 index.php 和 www,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12030990/

10-16 15:36