我正在尝试将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
答案 0 :(得分:4)
RewriteEngine On
RewriteRule ^signup/?$ /signup.php
问号使斜线可选,而美元符号表示行尾,因此无法跟随。如果您愿意,可以删除$
。
您还可以在URL末尾允许任意查询字符串,例如:
RewriteRule ^signup/?(\?.*)?$ /signup.php$1
这将允许您将任何查询参数传递给PHP脚本。例如,网址http://www.example.com/signup?destination=/front-page
会被重定向到http://www.example.com/signup.php?destination=/front-page
。
答案 1 :(得分:3)
使用?
量词:
RewriteRule ^signup/?$ /signup.php
但我建议您只使用一种表示法并重定向另一种表示法。
答案 2 :(得分:1)
在斜杠后面加上一个问号
RewriteRule ^signup/? /signup.php
? =正则表达式匹配中的可选单个字符