如何从 url 中删除 .php 扩展名

How to remove .php extension from url

<?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 用于注册页面等等

我想从 user 页面中删除 .php 扩展名。 请建议 .htaccess

的任何代码

.htaccess 文件中,添加以下行

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]

请试试这个

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/(.+)$  https://www.example.com/.php/ [L,NC,P]

当然,这条规则放在哪里也很重要。因为它是一个可能包含很多链接的规则。

我更喜欢如下规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/(.+)$  https://www.example.com/user.php/ [L,NC,P]