.htaccess文件不起作用以及如何使用htaccess重命名文件

时间:2011-09-02 14:10:09

标签: .htaccess

我使用下面的脚本来隐藏我的网站中的文件扩展名。我从网上获取了这个脚本

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

但是这个脚本不起作用,它没有显示任何错误,但它没有隐藏文件扩展名;你能告诉我发生了什么吗?我是这个脚本的新手..

你能告诉我如何使用htaccess重命名我的php和在url中显示(以防止黑客攻击)

 (eg www.website.com/contact.php to www.website.com/Mycontact)

1 个答案:

答案 0 :(得分:0)

提供的代码应该有效,如果您输入www.site.com/contact,您是否到达www.site.com/contact.php?

要'重命名你的php',你必须使.htaccess非常具体:

RewriteRule ^Mycontact$ contact.php

沿着这些方向做某事可能会更好:

RewriteRule ^(.*)$ loader.php?p=$1

然后让loader.php包含类似这样的代码:

$pages = array();
$pages['Mycontact'] = 'contact.php';

if(isset($_GET['p']) && isset($pages[$_GET['p']]))
    require $pages[$_GET['p']];
else // redirect to homepage
    header('Location: http://www.site.com/');

或使用开关

switch($_GET['p']){

    case "Mycontact":
    require 'contact.php';
    break;

    default:
    header('Location: http://www.site.com/');

}