htaccess删除.php并重写url问题

时间:2011-10-21 03:25:58

标签: php .htaccess url-rewriting

所以,如果我有以下网址:

www.mydomain.com/parser.php?id=19127axbj1

如何使用htcaccess将其设为

www.mydomain.com/19127axbj1
这可能吗?我看到运球有http://drbl.in/caYS,所以想知道这样的事情。

3 个答案:

答案 0 :(得分:1)

有可能。

RewriteRule ^(.*)$ /parser.php?id=$1 [L]

答案 1 :(得分:0)

如果请求的文件不存在,RewriteRules通常会说“向其他文件发送请求”。例如:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /parser.php [L]

然后,您会找到最初请求的路径... $_SERVER['PATH_INFO']

这可以防止递归请求之类的事情,并且允许您拥有“漂亮”的URL,而不会破坏所有直接文件访问。

答案 2 :(得分:0)

您可以使用此规则:

RewriteRule .* /parser.php?id=$0

将“www.example.com/whatever”更改为“www.example.com/parser.php?id=whatever”

但是,这仍然允许您直接访问“/parser.php”而不会出现屏蔽URL的错觉。为了避免这种情况,你必须使用php代码重定向:

if (strpos($_SERVER['REQUEST_URI'], "parser.php") !== false) {
   header("Location: /$_REQUEST[id]", true, 303);
   exit;
}