Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache htaccess-简单重写规则未触发_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache htaccess-简单重写规则未触发

Apache htaccess-简单重写规则未触发,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我试图匹配一个简单的规则来重写url,但它就是不匹配。我想重定向 到 这是我试过的 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 /

我试图匹配一个简单的规则来重写url,但它就是不匹配。我想重定向

这是我试过的

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]

还有许多微小的变化,但都没有触发。我尝试使用,它返回“未满足此规则”。我做错了什么?

要重写,只需使用上一条规则

RewriteRule ^web/thanks/?$ /thanks.php [L]
有以下变化

  • 不,这仅与某些相对URL相关

  • 可选尾部斜杠
    /?
    ,如果您希望
    /web/thanky
    /web/thanky/
    都起作用

  • 没有域名,因为这可能会触发重定向而不是重写,请参阅

    绝对URL
    如果指定了绝对URL,mod_rewrite将检查主机名是否与当前主机匹配。如果是这样,则会剥离方案和主机名,并将生成的路径视为URL路径。否则,将对给定URL执行外部重定向。要强制外部重定向回当前主机,请参阅下面的[R]标志

  • 没有标志,因为这会触发重定向而不是重写



模式
^.*谢谢/$
^(.*)谢谢/$
也可以,但是它匹配任何以
谢谢/
结尾的URL,比如
/hellothanks/
/areyousure谢谢/
/some/path/thanking/
,…

您真的想重定向而不是重写吗?“不触发”是什么意思?你得到了什么,404未找到,500服务器错误,或者其他什么?最后一个应该可以工作,顺便说一句。至少应该将客户端重定向到PHP文件。我得到了404,因为它实际上并不存在。不触发,我的意思是规则不匹配,我没有被重定向。是的,我想重写。因此url保持不变。我想当它工作时会发生什么?所以
/web/thanky
不会重定向。当您输入
/web/thanky/
(带尾随斜杠)时是否会被重定向?使用最后一条规则时。谢谢Olaf,我需要该操作,因此我将保留
^(.*)谢谢/$
。我删除了
R
以删除重定向