表达式引擎 - 完全删除index.php

时间:2012-06-21 16:43:13

标签: .htaccess expressionengine

我一直在我的.htaccess文件中使用以下代码,以使EE URL工作,而不需要URL中的index.php。虽然我发现我从抓取工具获得一些报告,但是我正在获取重复内容,因为/ lorem / ipsum /也出现在/index.php/lorem/ipsum /.

我知道这很可能是由于引用URL中的index.php的杂散链接造成的,但我想通过强制index.php从链接中来弥补差距。我已经环顾四周,但我似乎无法找到如何强制它。

RewriteEngine On
RewriteBase /

RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

1 个答案:

答案 0 :(得分:8)

当然可以。

# Enable Rewrite Engine
# ------------------------------
RewriteEngine On
RewriteBase /

# Redirect index.php Requests
# ------------------------------
RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC]
RewriteCond %{THE_REQUEST} ^GET
RewriteRule ^index\.php(.+) $1 [R=301,L] 

# Standard ExpressionEngine Rewrite
# ------------------------------
RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]