如何从 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]
<?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]