网址重写短语问题

时间:2013-09-09 09:49:12

标签: php apache url mod-rewrite url-rewriting

我有一个我希望重写的网址mysite.com/accounts?id=test应该定向到mysite.com/accounts.php?id=test。我检查了我的mod_rewrite,它可以工作,因为其他页面可以正确编写。我目前正在尝试这个:

RewriteRule ^accounts?([.]+)$ accounts.php?$1 [NC,L]

这似乎不起作用。是因为正则表达式中的问号吗?我尝试用\来逃避它但它仍然不起作用。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

首先我认为([.]+)(.*)相同。

其次,RewriteRule已经从URL中删除了query_string 您可以使用%{QUERY_STRING}访问它。

所以你的代码将是

RewriteRule ^accounts?(.*)$ accounts.php?%{QUERY_STRING} [NC,L]

您可以使用以下内容创建accounts.php进行测试:

<?php
echo "<pre>";
print_r($_SERVER);
exit();
// rest of your code
?>

然后检查您的[QUERY_STRING]

相关问题