如何在没有.php扩展名的情况下创建domain.com/?stringhere

如何在没有.php扩展名的情况下创建domain.com/?stringhere,php,query-string,Php,Query String,我想创建如下链接: 我想能够做的是能够转到上面的链接,然后在这个链接之后拉什么?在本例中,您可以访问此处并能够使用该信息执行MySQL查找并返回页面 谁能给我指出正确的方向吗?请知道这是在使用PHP而不是ASP在该目录中创建一个默认PHP文件,当未指定文件名时将加载该文件,例如index.PHP。在PHP脚本中,您可以从变量$_SERVER['QUERY_STRING']获取问号后的部分。在该目录中创建一个默认PHP文件,当未指定文件名时将加载该文件,例如index.PHP。在PHP脚本中,您可

我想创建如下链接:

我想能够做的是能够转到上面的链接,然后在这个链接之后拉什么?在本例中,您可以访问此处并能够使用该信息执行MySQL查找并返回页面


谁能给我指出正确的方向吗?请知道这是在使用PHP而不是ASP在该目录中创建一个默认PHP文件,当未指定文件名时将加载该文件,例如index.PHP。在PHP脚本中,您可以从变量$_SERVER['QUERY_STRING']获取问号后的部分。

在该目录中创建一个默认PHP文件,当未指定文件名时将加载该文件,例如index.PHP。在PHP脚本中,您可以从变量$\u SERVER['QUERY\u STRING']获得问号后面的部分。

这里的问题不是脚本语言,而是web服务器设置。我将通过它们的Apache名称来引用它们,但是这些特性应该在大多数web服务器中都可用

您可能需要使用以下三个功能:

1内容协商mod_协商,允许您的web服务器按指定顺序尝试指定的扩展列表,例如:可能是或

2 DirectoryIndex,它告诉web服务器,当客户端请求时,它应该按顺序查找指定的文件列表,这样它就可以启动服务器或http://example.com/index.php

3 mod_rewrite,它允许您基本上重写服务器接收的URL格式。这允许你做一些事情,比如翻译成


其余的由后端脚本代码正常完成。

这里的问题不是您的脚本语言,而是您的web服务器设置。我将通过它们的Apache名称来引用它们,但是这些特性应该在大多数web服务器中都可用

您可能需要使用以下三个功能:

1内容协商mod_协商,允许您的web服务器按指定顺序尝试指定的扩展列表,例如:可能是或

2 DirectoryIndex,它告诉web服务器,当客户端请求时,它应该按顺序查找指定的文件列表,这样它就可以启动服务器或http://example.com/index.php

3 mod_rewrite,它允许您基本上重写服务器接收的URL格式。这允许你做一些事情,比如翻译成


其余部分由后端脚本代码正常完成。

在站点的main index.php中执行以下操作:


在站点的main index.php中执行以下操作:


在链接、表单或其他任何内容中-index.php?id=someid

在index.php文件中:

$_GET['id'] = $id
现在您可以使用它:

e、 g


由于它是您的默认页面,因此它将在没有扩展名的情况下工作。

在链接、表单或任何-index.php?id=someid中

list($id) = array_keys($_GET);
// right now, $id represents the ID you're looking for.
// Do whatever you want with it.
在index.php文件中:

$_GET['id'] = $id
现在您可以使用它:

e、 g

因为它是您的默认页面,所以它在没有扩展名的情况下可以工作

list($id) = array_keys($_GET);
// right now, $id represents the ID you're looking for.
// Do whatever you want with it.
这正是我想要的,尽管现在我只需要创建一些东西来通知是否没有任何东西。谢谢大家的回复


这正是我想要的,尽管现在我只需要创建一些东西来通知是否没有任何东西。谢谢大家的回复。

如果可能的话,我会使用.htaccess文件来解决这个问题

在主目录中创建包含以下内容的.htaccess文件:

RewriteEngine on
RewriteRule cat/(.*)/(.*)/(.*)/$ /$1/$2.php?$3

这应该将example.com/foo/bar/baz转换为example.com/foo/bar.php?page=baz

如果可能的话,我会使用.htaccess文件来解决这个问题

在主目录中创建包含以下内容的.htaccess文件:

RewriteEngine on
RewriteRule cat/(.*)/(.*)/(.*)/$ /$1/$2.php?$3

这应该可以把example.com/foo/bar/baz翻译成example.com/foo/bar.php?page=baz

你的意思是?id=somenumber还是你键入的?你的意思是?id=somenumber还是你键入的?所以如果我只使用它,它基本上只会指向?这不是一个好主意,你可能会创建很多不必要的目录。@matt-是的,对@约西亚-不必要的目录?你是什么意思?如果我只是使用它,那么它基本上就是指向?这不是一个好主意,你可能会创建很多不必要的目录。@matt-是的,没错@约西亚-不必要的目录?你什么意思?很好的内容谈判。这是一个我不知道的,对于没有漂亮URL的应用程序来说非常有用。关于内容协商的一个很好的例子。这是我不知道的一个,对于没有漂亮URL的应用程序来说非常有用。