使用.htaccess重写查询字符串

时间:2012-12-18 09:25:37

标签: mod-rewrite

我正在尝试对查询字符串进行非常简单的重写

http://www.example.com/library.php?q=abscessed-tooth

http://www.example.com/library/abscessed-tooth

这是我在.htaccess文件中编写的代码,它什么都不做

RewriteEngine On
RewriteRule ^/library/?([^/]*)/?\/http://www.example.com/library.php?q=$1 [L]

2 个答案:

答案 0 :(得分:1)

可能在您的环境中不考虑.htaccess文件。如果有疑问,请打开RewriteLogging,因为重写模块的优秀文档中对此进行了解释。

哦,检查错误日志,无论如何你在RewriteRule中都有语法错误:RewriteRule需要2个参数和标志,你的规则只有一个参数:

RewriteEngine On
RewriteRule ^library/([^/]*) http://www.example.com/library.php?q=$1 [L]

答案 1 :(得分:0)

你需要在“左”部分末尾的美元符号而不是问号:

^/library/([^/]*)/$ http://www.example.com/library.php?q=$1 [L]

你还需要/和之间的问号(?它看起来不像是向前看还是在后面?

尝试不包括斜杠

^library/([^/]*)$ http://www.example.com/library.php?q=$1 [L]