相关疑难解决方法(0)

添加评论到.htaccess

为什么这样做:

RewriteRule (.+)/$ $1
Run Code Online (Sandbox Code Playgroud)

这项工作:

RewriteRule (.+)/$ $1 [L] #bla bla bla
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

RewriteRule (.+)/$ $1 #bla bla bla
Run Code Online (Sandbox Code Playgroud)

apache .htaccess comments

86
推荐指数
2
解决办法
6万
查看次数

使用.htaccess(和.htpasswd)身份验证时如何注销?

可能重复:
通过PHP进行HTTP身份验证注销

你好

我在我的网站上使用.htaccess和保护了一些功能.htpasswd.当用户尝试访问它时,他们会立即输入详细信息.他们输入他们的细节并进入,可以看到东西等.一切正常.

我的问题是如何logout为这种类型的身份验证创建功能.我知道他们可以关闭浏览器窗口以"注销".但这并不理想.你有什么建议给我的?

谢谢.

php authentication .htaccess logout .htpasswd

28
推荐指数
2
解决办法
6万
查看次数

Apache 2.2重定向到SSL*然后*做auth(使用解决方案<但它是废话吗?)

似乎是apache的地方所以这里去:)

古老的问题:我如何重定向HTTP-> HTTPS,然后只有在HTTPS时才进行身份验证?

哦 - 我想把它大部分放在一个可以包含在多个<directory>或<location>块中的片段中,所以没有基于虚拟主机级别随机路径的重写...

好吧,这就是我所拥有的似乎有用的东西:

在VirtualHost块的顶部

# Set ssl_off environment variable 
RewriteEngine on
RewriteCond %{HTTPS} =on
RewriteRule ^ - [E=ssl]
Run Code Online (Sandbox Code Playgroud)

在位置或目录块中

RewriteEngine on
# Case 1 redirect port 80 SSL
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} =80
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]

AuthType Basic
AuthBasicProvider external
AuthExternal auth_pam
AuthName "My Underpants"
AuthzUnixgroup on
Order Deny,Allow
Deny from all
Allow from env=!ssl
Satisfy any
Require group nice-users
Run Code Online (Sandbox Code Playgroud)

加号

所有这些条件都可以将Require's抽象为一个片段文件,以便在每个位置包含在一行中

它修复了强制每个位置的SSL和身份验证,因此错误的可能性更小

血淋淋的地狱,这很难直观!我所知道的一切可能都很脆弱......

有没有更好的方法(不是我发现的......)?

如果有任何严重的缺陷,将非常欢迎评论:)

如果Apache有一个合理的配置语法与泛型,Aside Life会更容易

<If expression> </ If> …

apache mod-rewrite apache2 basic-authentication apache2.2

7
推荐指数
1
解决办法
3597
查看次数

.htaccess,mod_rewrite和基本身份验证

我正在一个Wordpress网站上工作,我的页面正在使用一个永久链接结构,mod_rewrites看起来像目录.对于几页我想使用基本身份验证来密码保护一些页面.我如何在我的.htaccess文件中写这个?我保护文件或重写的地址吗?

wordpress .htaccess mod-rewrite basic-authentication

5
推荐指数
1
解决办法
3150
查看次数

使用Auth和Canonical重定向在Apache上强制SSL

我已经阅读了一些关于如何重定向到SSL的帖子,还有一些关于如何确保网站使用www子域/规范名称的帖子,以及一些关于如何设置Basic Auth的帖子.这是我现在在.htaccess文件中的内容:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


RewriteEngine on
RewriteCond %{HTTP_HOST} !(^www\.site\.com*)$
RewriteRule (.*) https://www.site.com$1 [R=301,L]


AuthName "Locked"
AuthUserFile "/home/.htpasswd"
AuthType Basic
require valid-user

它工作得很好,但我想优化它.我的问题包括:

  1. 如何避免双重身份验证?当我访问网站时,我必须进行身份验证,然后我被重定向到SSL并且必须再次进行身份验证.我可以重定向然后进行身份验证吗?
  2. 看起来第一条规则非常棒,因为我可以在任何网站上使用它而无需修改它.规则#2可以重写为与站点无关吗?即:无论域名是什么,它都会强制www在任何网站上使用(有更好的书面规则)?这里回答
  3. 我如何使用适用于任何网站的规则来强制网站不使用www,即从www.site.com重定向到site.com? 这里回答

apache authentication .htaccess redirect rewrite

4
推荐指数
1
解决办法
5076
查看次数