【发布时间】:2013-02-18 02:11:14
【问题描述】:
我试图掩盖 URL,就像真正的 URL 是 www.somedomain.com/subfolder/index.php?p=page3 它显示 www.somedomain.com/subfolder/page3 一样,我知道这样的问题已经被问了很多在这里,我确实搜索了很多,但大多数结果都没有满足我正在寻找的内容,而且除了有关 htaccess 调整的基础知识之外,我几乎一无所知。
我搜索时得到的一个结果具有以下 htaccess 代码:
选项 +FollowSymLinks
选项 +索引
重写引擎开启
RewriteRule ^index.php$ %{QUERY_STRING} [C]
RewriteRule p=(.*) www.somedomain.com/subfolder/$1? [R=301,L]
它完成了有关 URL 重写的技巧,但它重定向页面而不是仅仅屏蔽 URL,并且它给出了 404 错误,即使我删除了 R=301 它也不起作用。
当我启动子文件夹 www.somedomain.com/subfolder/ 的索引页面时,上面的代码也会出现 500 服务器错误。
最后我想提一下,我正在使用 localhost 中的子目录进行测试,以防万一,因为我在网上找到的一些代码要么根本不起作用,要么提供 500 个服务器错误。
非常感谢。
【问题讨论】:
-
我将我的答案标记为删除 - 我首先列出了您的目的地,然后列出了您的来源,这让我自己感到困惑,因为您在问题中列出了它们,所以我在回复中将它们颠倒过来(通常更容易按照规则中出现的相同顺序写出你正在做的事情——源,然后是目标)。 @faa 的答案是正确的。对此感到抱歉。
标签: apache .htaccess url-masking