【发布时间】:2016-01-22 17:17:20
【问题描述】:
我通过表达式引擎创建了一个网站,在 htaccess 中我需要删除 index.php 并将 www 添加到无 www url。 这是我当前的 .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Add www to url
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)/index\.php/*(.*) /$1$2 [R=301,NE,L]
</IfModule>
但是上面的代码有一些问题,当 url 有 www 本身并且没有 index.php 并且一切都很好,但是当我从 url 中删除 www 以测试“添加 www”部分时,它可以工作它不再起作用,并且网址损坏如下:
http://www.example.com/index.php?/segment1/segment2/
一个 index.php 出现了。我不知道该怎么做,任何帮助都会得到帮助
【问题讨论】:
标签: php .htaccess codeigniter expressionengine