gpt4 book ai didi

当 Redirect 和 RewriteRule 一起使用时,.htaccess 重定向循环

转载 作者:行者123 更新时间:2023-12-01 12:57:07 26 4
gpt4 key购买 nike

我正在 HTACCESS 文件中尝试以下操作:

我想 301 重定向这个 --> http://www.domain.com/somepage.php?page=foo

到此 --> http://www.domain.com/my-pretty-url/

当我更改网站上的内部链接以阅读我想要的方式并且我不使用 R=301 标志时,这很好用:

RewriteRule ^my-pretty-url/$ /index\.php?page=foo [L]

但是...这里的问题是我还想 301 将任何外部请求重定向到服务器,当我处理它时,它会将我置于重定向循环中。
RewriteCond %{REQUEST_URI} /index.php$
RewriteCond %{QUERY_STRING} ^page=foo$
RewriteRule ^.*$ http://www.domain.com/my-pretty-url/? [R=301,L]

RewriteRule ^my-pretty-url/$ /index\.php?page=foo [L]

RewriteCond 规则本身不工作,只有底部的单个 RewriteRule 自己工作以进行内部重写,但它不处理外部请求。

显然,如果我同时拥有两者,则会创建一个循环。我该如何解决这个问题??

谢谢!

最佳答案

尝试以下操作以防止循环

#prevent internal redirects, and prevent loop
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{REQUEST_URI} /index.php$
RewriteCond %{QUERY_STRING} ^page=foo$
RewriteRule ^.*$ http://www.domain.com/my-pretty-url/? [R=301,L]

RewriteRule ^my-pretty-url/$ /index\.php?page=foo [L]

关于当 Redirect 和 RewriteRule 一起使用时,.htaccess 重定向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com