使用mod_rewrite完全删除index.php

时间:2012-06-30 21:32:05

标签: php mod-rewrite


我正在寻找一种从URL中删除任何index.php文件名的方法。我想尝试这样做的主要原因是因为我的目录中包含“index.php”。所以没有得到......
http:// localhost / members / index / 我希望能有更多的东西......左 http:// localhost / members /

下面的代码是我目前在.htaccess文件中的代码。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ $1.php [L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ $0/ [L,R=301]

我非常感谢帮助和任何建议!非常感谢你,上帝保佑!

2 个答案:

答案 0 :(得分:1)

如果您只想从URL中“删除”index.php,那么您只需要确保Apache知道index.php可以用作目录索引。

DirectoryIndex index.php

您可以将它放在Apache配置,VirtualHost或.htaccess文件中。

答案 1 :(得分:0)

请使用:

RewriteCond %{THE_REQUEST} ^.*index.php.*

就是这样;)