繁体   English   中英

Mod_Rewrite问题

[英]Mod_Rewrite Question

我正在尝试将example.com/signup和example.com/signup/(带有斜杠)转发到example.com/signup.php

我在.htaccess中写了以下内容,它适用于example.com/signup/,但不能在没有斜杠的情况下工作...如何解决该问题?

RewriteEngine On
RewriteRule ^question/(.*)-(.*) /question.php?qid=$1
RewriteRule ^signup/ /signup.php
RewriteEngine On
RewriteRule ^signup/?$ /signup.php

问号使斜杠为可选项,美元符号表示行尾,因此无法跟随。 您可以根据需要删除$

您还可以在URL的末尾允许任意查询字符串,例如:

RewriteRule ^signup/?(\?.*)?$ /signup.php$1

这样一来,您便可以将所有查询参数传递给PHP脚本。 例如,URL http://www.example.com/signup?destination=/front-page将被重定向到http://www.example.com/signup.php?destination=/front-page

使斜杠为可选的? 量词:

RewriteRule ^signup/?$ /signup.php

但我建议您只使用一种表示法,然后将另一种表示法重定向。

在斜杠后加问号

RewriteRule ^signup/? /signup.php

=正则表达式匹配中的可选单个字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM