我正试图掩盖网址,就像真正的网址 www.somedomain.com/subfolder/index.php?p=page3
一样,它显示 www.somedomain.com/subfolder/page3
,我知道这些问题有在这里被问了很多,我做了很多搜索,但大多数结果都没有满足我的要求,除了关于htaccess调整的基础知识,我几乎什么都不知道。
我搜索时得到的一个结果有以下htaccess代码:
选项+ FollowSymLinks
选项+索引
RewriteEngine On 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服务器错误。
非常感谢提前。
答案 0 :(得分:2)
你可以试试这个:
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
。
以上是输入的网址,并显示在浏览器的地址栏中。
要:
http://www.somedomain.com/anyfolder/index.php?p=val
假设字符串anyfolder
和val
是动态的。
对于永久重定向,请将[L]
替换为[R=301,L]
。