Mod rewrite 使用.htaccess重写查询字符串
我正在尝试对查询字符串进行非常简单的重写Mod rewrite 使用.htaccess重写查询字符串,mod-rewrite,Mod Rewrite,我正在尝试对查询字符串进行非常简单的重写 http://www.example.com/library.php?q=abscessed-tooth 到 这是我在.htaccess文件中编写的代码,它什么也不做 RewriteEngine On RewriteRule ^/library/?([^/]*)/?\/http://www.example.com/library.php?q=$1 [L] “左”部分末尾需要美元符号,而不是问号: ^/library/([^/]*)/$ http://
http://www.example.com/library.php?q=abscessed-tooth
到
这是我在.htaccess文件中编写的代码,它什么也不做
RewriteEngine On
RewriteRule ^/library/?([^/]*)/?\/http://www.example.com/library.php?q=$1 [L]
“左”部分末尾需要美元符号,而不是问号:
^/library/([^/]*)/$ http://www.example.com/library.php?q=$1 [L]
您是否需要在/和之间打问号(?它看起来不像是向前看或向后看
尝试不包装斜线以及
^library/([^/]*)$ http://www.example.com/library.php?q=$1 [L]
可能您的环境中不考虑.htaccess文件。如果有疑问,请打开重写日志记录,正如重写模块的优秀文档中所解释的那样 哦,检查错误日志,您的重写规则中仍然存在语法错误:
RewriteRule
接受两个参数加上标志,您的规则只有一个参数:
RewriteEngine On
RewriteRule ^library/([^/]*) http://www.example.com/library.php?q=$1 [L]
实际上,我正在我们的演示服务器上试用,但它在那里不起作用。我想可能是域可能是一个问题。你必须在内部文件、css、js和图像中添加斜杠,例如:/sbtemplates/1072/css/layout.csd。我必须在文件之前给出绝对路径名吗?是的,如果你是“第一个”,这不会有什么影响当然,你可以通过在htaccess中使用一些魔法来避免它,但这是你的首选我做了,但它仍然没有发生。这是我在我的htaccess文件重写引擎中的RewriteRule^library/([^/]*)[L]重写后得到的url是什么?或者根本没有重写?请更具体地说明问题所在。根本没有重写。这是我在重写规则^library/([^/]*)[L]上的htaccess文件重写引擎中编写的内容
RewriteEngine On
RewriteRule ^library/([^/]*) http://www.example.com/library.php?q=$1 [L]