URL,不带扩展名的页面名称


URL, page names without extension

我正在尝试使用example.com/aboutexample.com/contacts而不是example.com/about.php&example.com/contact.php

我不确定这是如何做到的,但我能够通过创建链接来做到这一点

<a href='site.com/about'> about </a>

我把我的index.php设置为

$URI = $_SERVER['REQUEST_URI']; 
switch($URI){
  case '/about';
    include 'about.php';
    break; 
  case '/contact';
    include 'contact.php';
    break; 
  //...
}

现在,如果问这是否是一个好方法,我的线程将作为客观问题关闭。但我想知道,它是如何做到的,或者更准确地说,每个人是如何做到这一点的。

我在.htaccess 中使用这个

/blah转到/blah.php等。这并不比加载一个php页面,然后在那里加载慢。

RewriteEngine On
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)'.php([#?][^' ]*)?' HTTP/
RewriteRule ^(.+)'.php$ http://WEBSITE.com/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]