2012-11-12 64 views
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] 

回答

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是否在你的服務器上啓用。通常mod_rewrite在Linux服務器上啓用,但不是windows,

您可以通過在phpinfo()中查看來檢查它。

斯威夫特

+0

這沒有奏效。它像我的重寫條件一樣刪除index.php,但index.php之前的斜槓仍然存在。 www.HTTP_HOST.com/test/index.php - > www.HTTP_HOST/test/ – mirmidon

+0

現在嘗試一下,做一個應該工作的編輯 – Excalibur