可以向我解释为什么该规则不起作用。
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule \/get-info\/plugin\/(.*) \/repositories\/get-info.php?plugin=$1
我想要当有人访问www.myawesomedomain.com/get-info/plugin/test
时 go to to
www.myawesomedomain.com/repositories/get-info.php?plugin =test 您的当前
slashes的不正确逃脱 您无需在
/
中逃脱斜线(RewriteRule
训练起始锚(
^
)
在.htaccess
^
开始从一开始就正确匹配。
召集fix尝试此更正的规则:
Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteRule ^get-info/plugin/(.*)$ repositories/get-info.php?plugin=$1 [L,QSA]
^get-info/plugin/(.*)$
→匹配
/get-info/plugin/anything
正确。
repositories/get-info.php?plugin=$1
[L,QSA]
:
L(最后)→如果此匹配匹配,则停止处理进一步的规则。
QSA(查询字符串附加)
→确保不会丢失现有的查询参数。
this应该正确地将www.myawesomedomain.com/get-info/plugin/test
www.myawesomedomain.com/repositories/get-info.php?plugin=test