2

我正在尝试将 URL 隐藏起来,就像www.somedomain.com/subfolder/index.php?p=page3它显示真实的 URL 一样www.somedomain.com/subfolder/page3,我知道这里已经问了很多这样的问题,我确实搜索了很多,但大多数结果也没有满足我的要求除了有关 htaccess 调整的基础知识,我几乎一无所知。

我搜索时得到的一个结果具有以下 htaccess 代码:

选项 +FollowSymLinks
选项 +Indexes
RewriteEngine On
RewriteRule ^index.php$ %{QUERY_STRING} [C]
RewriteRule p=(.*) www.somedomain.com/subfolder/$1? [R=301,L]

它完成了有关 URL 重写的技巧,但它重定向页面而不是仅仅屏蔽 URL,并且它给出了 404 错误,即使我删除了 R=301 它也不起作用。

当我启动子文件夹的索引页面时,上面的代码也会出现 500 服务器错误www.somedomain.com/subfolder/

最后我想提一下,我正在使用 localhost 中的子目录进行测试,以防万一,因为我在网上找到的一些代码要么根本不起作用,要么给出 500 服务器错误。

提前谢谢了。

4

1 回答 1

3

你可以试试这个:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
# Prevent loops
RewriteCond %{REQUEST_URI} !index\.php         [NC]
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/? [NC]
RewriteRule .*  %1/index.php?page=%2           [L]

静默地图:

http://www.somedomain.com/anyfolder/val带或不带斜杠。

以上是在浏览器地址栏中输入并显示的 URL。

到:

http://www.somedomain.com/anyfolder/index.php?p=val

字符串anyfolderval被假定为动态的。

对于永久重定向,请替换[L][R=301,L].

于 2013-02-18T04:33:45.983 回答