0

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

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]
4

2 回答 2

1

您的环境中可能没有考虑 .htaccess 文件。如果有疑问,请打开 RewriteLogging,正如重写模块的优秀文档中所解释的那样。

哦,检查错误日志,你在 RewriteRule 中有一个语法错误:RewriteRule接受 2 个参数和标志,你的规则只有一个参数:

RewriteEngine On
RewriteRule ^library/([^/]*) http://www.example.com/library.php?q=$1 [L]
于 2012-12-18T09:30:49.230 回答
0

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

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

您还需要 / 和 ( 之间的问号吗?它看起来不像前瞻或后视?

也尝试不使用斜杠

^library/([^/]*)$ http://www.example.com/library.php?q=$1 [L]
于 2012-12-18T09:29:23.877 回答