php - 如何从 url 中删除 .php 扩展名
问题描述
<?php
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$url_array = explode("/", $url);
$action = end($url_array);
switch ($action) {
case "login":
login();
break;
case "register":
register();
break;
}
?>
在这里,我需要从我的 URL 中删除 .php 扩展名,就像我必须输入https://example.com/user.php/login用于登录页面和https://example.com/user.php/register用于注册页。
但是我需要 URL 是https://example.com/user/login的登录页面和https://example.com/user/register的注册页面等等
在这里,我想从用户页面中删除 .php 扩展名。请为 .htaccess 建议任何代码
解决方案
请试试这个
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/(.+)$ https://www.example.com/$1.php/$2 [L,NC,P]
当然,你把这条规则放在哪里也很重要。因为它是一个可能包含许多链接的规则。
我更喜欢以下规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/(.+)$ https://www.example.com/user.php/$1 [L,NC,P]
推荐阅读
- tensorflow - 为什么我收到此错误“未定义 reshape_and_normalize_image”?
- javascript - 反应:this.function 不是一个函数
- reactjs - 有没有办法使用反应保持两个或多个视频元素同步?
- android - 我无法在棉花糖下方和上方录制电话?
- django - 如何自定义 django-filter 表单?
- wordpress - 如何在wordpress中为某个类别的所有帖子添加一个特定的类
- java - springboot h2 无法创建数据库并登录到 h2-console
- google-maps-react - 如何使用 google-maps-react 加载 GeoJSON?
- terraform - Terraform 获取安全组的私有子网
- python - 如何处理管道中 OneHotEncoder 的不同类别?