3

我已经在我的 .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]
4

1 回答 1

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] 
于 2012-06-21T17:08:23.147 回答