使用.htaccess重写URL,查询字符串作为文件名

时间:2011-10-08 12:58:02

标签: php .htaccess url-rewriting

如果我的网址是http://www.xyz.com/index.php?view=abc 然后它应该打开 http://www.xyz.com/abc.php

我应该写什么.htaccess ??

提前致谢。

1 个答案:

答案 0 :(得分:2)

  

如果我的网址为http://www.xyz.com/index.php?view=abc,则应该打开http://www.xyz.com/abc.php

你不需要.htaccess,只需输入index.php

即可
$view = $_GET['view'];
if (strpos($view, '/') === false && $view != "index" && file_exists("$view.php"))
  require "$view.php";

请确保根目录中没有任何其他易受攻击的php文件(但我建议使用其他/更好的技术来检查来自网址的用户输入)。


如果您希望重写反之亦然,那么.htaccess可能与此类似:

RewriteEngine on

RewriteCond %{REQUEST_URI}  !^/index.php
RewriteRule ^([a-z]+).php$  /index.php?view=$1  [L]