1

我怎样才能删除/之前的index.(php|html ...)

例子:

www.HTTP_HOST.com/x/index.php to www.HTTP_HOST.com/x

www.HTTP_HOST.com/../../../index.php to www.HTTP_HOST.com/../../..

我使用这种重写条件,但/仍然存在。

RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html|hml)\ HTTP
RewriteRule ^(.*)/index\.(php|html|hml)$ $1 [R=301,L]
4

1 回答 1

0

这应该适用于删除“/index.php”部分:

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/ RewriteRule        
    ^(([^/]+/)*)index\.php$ http://www.%{HTTP_HOST} [R=301,NS,L]

重定向 301 意味着永久移动,因此大多数搜索引擎将从 URL 中删除 index.php。

请记住检查您的 mod_rewrite 是否在您的服务器上启用。通常在 Linux 服务器上启用 mod_rewrite 而不是 windows,

您可以通过查看 phpinfo() 来检查这一点。

迅速

于 2012-11-12T18:20:29.703 回答