删除url中的.php扩展名

删除url中的.php扩展名,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我有一个url,我想删除pages.php部分的.php扩展名。。。对于.htaccess文件,这是可能的还是应该放弃 我从“”尝试了RewriteRule^(.+)\.php/(.+)$$1/$2,但没有成功 我不熟悉.htaccess文件(这是我的第一个正常技巧不起作用的站点)您可以在文档中使用此代码。\u ROOT/.htaccess文件: RewriteEngine On RewriteBase / # external redirect from actual URL to pret

我有一个url,我想删除pages.php部分的.php扩展名。。。对于.htaccess文件,这是可能的还是应该放弃

我从“”尝试了
RewriteRule^(.+)\.php/(.+)$$1/$2
,但没有成功


我不熟悉.htaccess文件(这是我的第一个正常技巧不起作用的站点)

您可以在
文档中使用此代码。\u ROOT/.htaccess
文件:

RewriteEngine On
RewriteBase /

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+([^/.]+)\.php/(\S+)\s [NC]
RewriteRule ^ %1/%2? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/.]+)/([^/]+)/?$ $1.php/$2 [L,NC]

很有可能,重写规则可以做到这一点:文件是否实际位于目录/文件夹names pages.php中?如果是这样的话,有什么原因不能将其重命名为页面吗?它们实际上不在目录中。它只是从数据库中提取页面的内容,然后使用pages.php来呈现它。通常我可以只使用一个没有扩展名的“pages”文件来呈现页面,但是这个服务器不允许链接正常工作。谢谢,这样做很有效。。。但是css&js文件不再加载。仍在寻找解决方案。由于使用了相对路径,css/js无法工作。要修复此问题,您可以将其添加到页面HTML的
部分:
,以便每个相对URL都从该基本URL解析,而不是从当前页面的URL解析。所有路径都已使用斜杠从基本URL解析。再次感谢,这几乎奏效了。它成功地去掉了.php扩展名,但现在它只进入主页。未呈现子页中的内容。看起来您正在添加新问题。您最初没有要求支持子页面。我建议为子页面支持发布一个新问题,并将其标记为已接受。