【发布时间】:2017-03-04 12:33:41
【问题描述】:
我正在尝试匹配一个简单的规则来重写一个 url,但它只是不匹配。我想重定向 https://example.com/web/thanks/ 到 https://example.com/thanks.php
这是我尝试过的
RewriteEngine On
RewriteBase /
RewriteRule ^thanks/$ https://example.com/thanks.php [R=302,L]
RewriteEngine On
RewriteRule ^thanks/$ https://example.com/thanks.php [R=302,L]
RewriteEngine On
RewriteBase /
RewriteRule ^/(.*)/thanks/$ https://example.com/thanks.php [R=302,L]
RewriteEngine On
RewriteBase /
RewriteRule ^web/thanks/$ https://example.com/thanks.php [R=302,L]
还有更多微小的变化,但没有一个会触发。我尝试使用 this online tool 并返回“未满足此规则”。我做错了什么?
【问题讨论】:
-
您真的要重定向而不是重写吗? “不触发”是什么意思?你得到了什么,404 未找到,500 服务器错误,还是其他什么?
-
最后一个应该可以工作,顺便说一句。至少应该将客户端重定向到 PHP 文件。
-
我得到一个 404,因为 example.com/web/thanks 实际上并不存在。不触发,我的意思是规则不匹配,我没有被重定向。
-
是的,我想重写。所以网址保持不变。我想当它起作用时会发生什么?
-
所以
/web/thanks不会重定向。当您输入/web/thanks/(带有斜杠)时,您会被重定向吗?使用最后一条规则时。
标签: apache .htaccess mod-rewrite