使用.htaccess的PHP语义和动态URL

使用.htaccess的PHP语义和动态URL,php,.htaccess,url,Php,.htaccess,Url,我有一个programs.php文件,它从数据库获取所有程序并输出到屏幕。我还有另一个文件programDetail.php,它获取每个程序的详细信息。我想显示像sitename.com/programs/123这样的URL,而不是programdail.php?p_id=123。我怎么办?是否可以使用.htaccess文件?使用.htaccess,如下所示: Options +FollowSymLinks RewriteEngine On RewriteCond %{SCRIPT_FILEN

我有一个
programs.php
文件,它从数据库获取所有程序并输出到屏幕。我还有另一个文件
programDetail.php
,它获取每个程序的详细信息。我想显示像
sitename.com/programs/123
这样的URL,而不是
programdail.php?p_id=123
。我怎么办?是否可以使用
.htaccess
文件?

使用.htaccess,如下所示:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^programs/(\d+)*$ ./programDetail.php?id=$1

检查下面的代码,它对我有效

RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /programDetail.php?p_id=$123

是的,可以使用.htaccess。您可以执行以下操作:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^programs/([0-9]+)/?$ ./programDetail.php?id=$1

或者,你可以使用一个图书馆(我知道这不是你要求的)来处理你的路线

你承诺你现在要做一些适当的研究,如果我们回答“是”的话,这是可能的部分吗?我做了一些研究,但没有运气。当我转到
sitename.com/programs/123
时,它会显示
programs.php
的内容。现在,如果你知道,要么帮我,要么走开。如果你尝试了某样东西,但它不起作用,那么你应该让我们看看你尝试了什么。先生,它显示了
programs.php
的内容。我的代码片段有./programDetail.php?id=$1不是programs.php?id=$1我已经试过了。当转到
sitename.com/programs/123
时,浏览器会显示
programs.php
的内容。编辑:
programs.php
有标题programs和
programmadetail.php
有程序id(例如123)。奇怪。你确定编辑了正确的.htaccess,或者没有其他内容覆盖它,或者你不小心用programs.php的内容覆盖了programDetail.php?当然,我复制了你的代码片段。我看到的是
programs.php
,而不是
programDetail.php
。它对我不起作用:找不到请求的URL/此处有一些文本/123.php在此服务器上找不到。