我试图让我的 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
“开始”重写。 RewriteCond
和 RewriteRule
成对工作。在这里,我们首先将用户发送到非 www 版本,并清理 URL。
关于php - Codeigniter htaccess 删除 index.php 和 www,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12030990/