我一直在使用http认证使用.htaccess文件来尝试改善我的当前cms。Htaccess - Http身份验证 - 可能可以捕获GET并应用身份验证,然后重定向?有示例
我发现在Apache的一个解决方案,而,我在HTML中使用链接的地方<a href=".test">Test</a>
。
我再加入这个我的.htaccess:
<Files .test>
AuthType Digest
AuthNAme "Restricted Page"
AuthDigestProvider file
AuthUserFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
# If user is authenticated then redirect
RewriteEngine on
RewriteCond %{REMOTE_USER} !=""
RewriteRule ^.*$ /test.php? [R]
</Files>
这个做什么,是当用户点击超链接提到,用户则通过HTTP认证的登录表单的提示。当他们输入正确的凭证时,它们会被重定向到名为test.php的可访问根目录中的一个页面,该页面又包含cms索引,该目录位于Web根目录之外。
如果用户选择cms中的一个部分,系统会提示他们再次登录(使用站点默认基于php的登录系统),只有具有正确角色分配的用户才可以访问任何特定部分。
虽然这是有用的,这是不太什么,我试图完成。
我想到的是,在我的情况下有两种可能的解决方案。
其中之一是其中一个用户可以输入说,在地址http://www.myDomain.com/?whateveryoulike
和被引导到我的CMS来代替。理想情况下,此重定向将直接指向其根目录中的我的cms索引,该索引不可通过http://
访问。像这样的东西,可以在PHP来实现:
if isset($_GET['whateveryoulike'])
{
include $_SERVER['DOCUMENT_ROOT'] . '/../../admin/blah.php';
}
我想到了另外一个办法是什么我不知道非常关注,但它涉及到HTTP认证,我已经使用过一次看到...
基本上用户输入[email protected],他们得到系统提示HTTP认证登录框。当证书被满足时,它们被发送到网站内的一个单独的部分。
会有人能够提供与我怎么会去这任何输入,建议或addittional想法?
虽然我的问题是,如果有可能实际抓住GET(http://www.myDomain.com/?whateveryoulike
),那么应用http身份验证,然后将用户重定向到一个页面,该页面不在http://
根目录中?
感谢您花时间阅读本文!
我想我能做的就是增加我的小PHP语句来我的配置,然后通过在索引页PHP使用HTTP认证... – 2012-01-29 18:34:34