对此可能有一个简单的答案,但我找不到一个,所以我的简单问题是,你如何在最后用斜杠显示网址?
例如:example.com/page/而不是example.com/page.html或example.com/page.php
我读过http://php.net/manual/en/security.hiding.php,但大部分都是我的头脑。我将expose_php设置为off,但扩展仍然存在,是通过编辑配置文件中的内容还是将代码添加到php脚本来实现的?
作为参考,我发现mod_rewrite wiki很有帮助。
答案 0 :(得分:3)
这是通过向HTTP服务器添加URL重写规则来实现的,该服务器将传入的请求映射到 example.com/page / 到 example.com/page.php 例如。
请注意,当客户端尝试访问与您的网页相关的某些文件时,使用目录样式名称(带斜杠)会导致一些问题。
<base href="http://example.com" />
标记,最终将目录样式页面重命名为错误想法。答案 1 :(得分:1)
你可以使用mod_rewrite(在apache服务器上)(这是比PHP-Parser Variante更好的方式)
示例:
RewriteEngine on
RewriteRule ^(.*).html$ $1.php
答案 2 :(得分:1)
阅读本文,了解如何使用mod_rewrite创建干净的URL: http://wettone.com/code/clean-urls
答案 3 :(得分:0)
在您的PHP代码中,您可以在一开始就使用它:
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
if(substr($_SERVER["REQUEST_URI"], -1) != "/")
header('Location: ' . curPageURL() . '/');
?>
希望这有帮助! :)