gpt4 book ai didi

apache - 我的 htaccess RewriteRule 适用于 localhost/mysite 但不适用于 1&1 共享主机上的 mysite.com

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

解决了:
不幸的是,该解决方案并不令人满意。今天早上,在尝试@Wige 的建议时,令我惊讶的是,我发现预期值实际上以 GET 的形式发送到页面上。询问。显然,1&1(我知道他们在过去几周一直在改变他们的环境)在幕后做了一些神奇的事情,解决了我的问题,现在我之前所有无法正常工作的代码都按原先预期的那样工作。

新信息 : 生产服务器的Apache版本是 1.3.34 对比 2.2.21 在我的本地主机上。
我无法弄清楚为什么我的 RewriteRule 在生产中无法正常工作。

RewriteRule ^page/pretty-url/(.*)$ page.php?query=$1 [L]


在我的本地测试环境( localhost/mysite/page/pretty-url/{...} )中它工作正常,但在 mysite.com/page/pretty-url/{...}它不能正常工作。它加载 page.php正如预期的那样,但显然是 ?query=$1片被忽略( $_GET 是空的)
我想这个问题在某种程度上与服务器配置有关。我在一个没有 httpd.conf 访问权限的 1&1 共享主机帐户上。

那是什么RewriteRule做(或应该做):
我想要像这样的网址

*example.com/page/pretty-url/{{info_for_dynamic_content}}


改写为

*/page.php?query={{info_for_dynamic_content}}


所以我可以访问 info_for_dynamic_content
php$_GET['query']
完整的 .htaccess 文件供引用:
AddHandler x-mapp-php6 .php

DirectoryIndex index.php
ErrorDocument 404 /index.php

Options +FollowSymLinks

# per @Jacques Chester's suggestion
Options -MultiViews

RewriteEngine on
RewriteBase /

# the rule in question
RewriteRule ^page/pretty-url/(.*)$ page.php?query=$1 [L]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php !-f
RewriteRule (.*) /index.php [L]

最佳答案

最有可能的是,您的主机将变量存储在其他地方。我会添加对 phpinfo() 的调用;进入您的脚本并查看那里的环境变量,看看您是否可以找到应该在 get 中的值。

关于apache - 我的 htaccess RewriteRule 适用于 localhost/mysite 但不适用于 1&1 共享主机上的 mysite.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897801/

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