猿问

如何使网站的访问者访问我的网页而不添加页面扩展名

我是一个初学者,并且刚刚托管了我的第一个网站;我现在面临的问题是如何使我的网站访问者即使不添加页面扩展名也可以访问我网站上的页面。

示例:www.example.com/services而不是www.example.com/services.php


不负相思意
浏览 149回答 3
3回答

Helenr

编辑.htaccess文件并添加以下内容RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME}\.php -fRewriteRule ^(.*)$ $1.php它将完成

幕布斯7119047

如果未指定扩展名,则可以使用url重写附加扩展名。或者,您可以构建一个路由系统以将特定的uri链接到特定的资源(此处为快速示例)。后者引入了很多复杂性,但提供了更多的控制权。例如,以下是基于我构建的自定义路由系统的基本伪代码:$routes->addStaticRoute(    /* Pattern */ '/home/myPage',    /* Params  */ null,    /* File    */ 'path/to/myPage.php');所有请求都自动转到index.php,我的路由器在其中将url请求转换为到资源的实际路由。使用上述静态路由,如果用户请求http://mySite/home/myPage,路由器将在path处使用静态文件进行响应wwwroot/path/to/myPage.php。静态路由的另一个示例:$routes->addStaticRoute(    /* Pattern */ '/home/{fileName}.{extension}',    /* Params  */ ['fileName' => 'index', 'extension' => 'php'],    /* File    */ 'path/to/{fileName}.{extension}');如果用户请求http://mySite/home,路由器将使用默认值进行响应wwwroot/path/to/index.php。此外,如果他们请求http://mySite/home/page5,路由器将以回应(如果存在)wwwroot/path/to/page5.php。路由在某种程度上是一个高级概念,这些是一些过于简化的示例,但是我希望这可以帮助您入门。
随时随地看视频慕课网APP
我要回答