我正在尝试对查询字符串进行非常简单的重写
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]
答案 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]