使用GET变量编写URL的方式不同

时间:2011-07-16 13:37:22

标签: php get

  

可能重复:
  Hide PHP from user

其他网站如何在没有GET变量的文件扩展名的情况下管理其URLS,如下所示:

http://foo.com/somepage?a=hello

但在我的网站上总是如此:

http://foo.com/somepage.php?a=hello

他们如何放弃扩展程序仍然可以使其工作?

2 个答案:

答案 0 :(得分:0)

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

答案 1 :(得分:0)

URL加查询字符串首先由您的服务器解析,例如Apache。因此,您可以将服务器配置为将发送到服务器(看起来很漂亮的)的某个URL映射到另一个更具体的URL,该URL关于最终要执行的文件(通常看起来带有.php和东西)。在Apache的情况下,这个映射由模块mod_rewrite完成,模块{{3}}可以配置为按照您的方式使用它。这是通过专门的正则表达式来完成的,这些表达式告诉模块如何处理提供的URL的哪个部分。

通过谷歌,你会发现很多关于Apache的mod_rewrite的教程。