gpt4 book ai didi

.htaccess - RewriteRule 正在重定向到绝对路径,而不是正确的 URL

转载 作者:行者123 更新时间:2023-12-02 03:53:28 24 4
gpt4 key购买 nike

我为我的网站创建了一堆 RewriteRules,并且在我的本地设置中没有问题。这是我的 .htaccess 中的一个片段:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^news/?$ news.php [L]

在本地,当我访问 127.0.0.1/news 时,它会正确重定向到 news.php 并屏蔽 URL。我刚刚更新了远程服务器上的 .htaccess 文件并在尝试访问上述示例时收到此错误:

在此服务器上找不到请求的 URL/mnt/target02/123456/123456/www.mywebsite.com/web/content/news.php。

我试过将规则更改为:
RewriteRule ^news/?$ http://www.mywebsite.com/news.php [L]

并且页面加载正确。但是,地址栏显示的是 news.php,而不是新闻。是不是我遗漏了什么,或者我是否坚持使用丑陋(且不太安全)的地址?
谢谢!

最佳答案

如果你像我一样,你会尽量避免在你的替换 URL(新目标)中添加前导斜杠,以便你的相同 .htaccess file 可以与您的测试和生产服务器一起使用。我遇到了与您相同的问题,所需要做的就是设置:

RewriteBase /

这告诉 mod_rewrite 基于 Web 根目录而不是文件根目录来替换 URL。另一个提示,如果您需要重定向到目标的顶层,请使用 ./而不仅仅是 / .我的测试服务器有一个端口(8080)并且不在根(所以它有一个非空的 RewriteBase/site1/ ),而且网上的大多数重写规则示例都没有考虑这种情况。如果您的替换从未以前导斜杠开头,您可以使用相同的 .htaccess文件在您的测试服务器和实时服务器上,您可能需要更改的只是 RewriteBase 的值。 ,而不是更新每个规则。

关于.htaccess - RewriteRule 正在重定向到绝对路径,而不是正确的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595803/

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