1

我有一个网站,构建器将此代码放入我的 .htaccess 中:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]*)(\.php)?(\?*)$ index.php/$1$3 [L,QSA]

但是,我还需要的是: - 如果没有目录,则删除斜杠 - 删除扩展名 .php - 如果 index.php 在 de url 中,则删除

我尝试了很多建议,但我认为它在 de .htaccess 中已经存在的代码中。

我已经设法将网站重定向到 www。如果没有在 url 中给出

有人有想法吗?我没主意了

4

1 回答 1

0

在您已经拥有的规则之前,请尝试添加这些:

# remove trailing slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# remove index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /(.*)index\.php/?([^\?\ ]*)
RewriteRule ^ /%1%2 [L,R=301]

# remove php extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /(.*)\.php($|\ |\?)
RewriteRule ^ /%1 [L,R=301]
于 2013-01-30T10:17:19.143 回答