我使用下面的脚本来隐藏我的网站中的文件扩展名。我从网上获取了这个脚本
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)
答案 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/');
}