gpt4 book ai didi

apache - 托管服务器上的内部 apache 重写问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:46:28 26 4
gpt4 key购买 nike

我在托管服务器上进行内部重写时遇到问题。这在我的开发和测试服务器上完美运行,但是当 .htaccess 移植到生产共享主机时,内部重写没有发生。

.htaccess 正在读取(已验证)带有“重定向”的 RewriteRule 有效,但内部重写无效。浏览器中的 URL 显示正确的友好 url,但内部重写没有发生,我最终进入了主页。

这是重写的一部分:

Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
RewriteRule ^contact/$ index.php?pid=3 [QSA,L]

所以我在浏览器中的 URL 将显示 www.mydomain.com/contact/但我在主页上。

如果我将 RewriteRule ^contact/$ 更改为 ^contact/$ http://www.mydomain.com/index.php?pid=3我被重定向了,但这不是我想要的。我想要内部重写。

查看日志,我没有收到 404,所以看来我只是访问了目录的根目录。

有什么想法吗??

谢谢!韩纸

更新:收到托管服务提供商发来的电子邮件,称他们不熟悉我的重写“风格”,这就是他们的建议:

RedirectPermanent /contact/ http://www.mydomain.com/index.php?pid=3

嗯...白痴。我希望我们能找出是什么阻止了我的重写工作,这样我就可以带着一些东西回到他们那里看看。我猜这是 Apache 的配置问题?请帮忙。

最佳答案

尝试使用您的 RewriteRule ^contact/$ index.php?pid=3 [QSA,L] 规则,我的 Apache 尝试进行内部重定向到 /full/filesystem/path/to/document/root/index.php,当用作 URL 路径时,它当然不会映射到正确的位置。将目标更改为 /index.php?pid=3 似乎可行。

关于apache - 托管服务器上的内部 apache 重写问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11248448/

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