PHP使用$ _GET而没有在URL中定义的变量?

时间:2014-12-28 00:04:18

标签: php .htaccess get

如果我有一个名为" dir"的目录使用名为" index.php"的文件,是否可以处理URL中的字符串而不在URL中明确定义任何变量?

EG。如果用户键入http://domain.com/dir/hello.world

是否有可能处理这个' hello.world'来自dir / index.php而不将其假定为不存在的文件?

我假设这是一个htaccess的事情,我知道如何使用htaccess将变量隐藏在网址中(所以/index.php?var=something会变成/var/something)但我不知道我是怎么做的,所以它只是/something

1 个答案:

答案 0 :(得分:2)

您正在寻求实施通常被称为“漂亮网址”的内容。您可以通过强制所有非文件或目录的请求到.htaccess中的index.php来执行此操作:

Options +FollowSymLinks
RewriteEngine On

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

RewriteRule ^.*$ ./index.php

然后你可以将你的参数拉出请求uri:

$_SERVER['REQUEST_URI'];