小编MrW*_*ite的帖子

apache - 将 suddomain 重定向到主域

我重建了我的旧网站。那个旧站点有一个子域:forum.example.com. 现在,它已经不存在了。使用访问我网站的人forum.example.com应该被重定向到example.com.

我的.htaccess文件:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] 
Run Code Online (Sandbox Code Playgroud)

如果主机不是example.com,则重定向到example.com。不应该forum.example.com符合条件吗?

现在对于问题的可选部分,如果有人可以向我解释上述规则,那就太好了。

以下是我在上述规则中的理解:

如果主机不是example.com( !^example.com$)
重定向到http://example.com.

我不明白的是规则 regex: 的第一部分^(.*)$,然后是对它的引用 ( $1)。为什么匹配的所有内容都可以作为请求的文件路径?它不会做这样的事情吗?

http://example.com/http://www.example.com/[requested file]
Run Code Online (Sandbox Code Playgroud)

mod-rewrite redirect subdomain apache-2.2

2
推荐指数
1
解决办法
1856
查看次数

创建 htpasswd 并编辑 htaccess 后出现 500 错误

我刚刚编辑了.htaccess文件以包括:

AuthType Basic
AuthName "My Protected Area"
AuthUserFile /home/path/to/public_html/
Require valid-user
Run Code Online (Sandbox Code Playgroud)

然后我.htpasswd通过htpasswd命令创建了一个文件。我已启用模块:LoadModule authn_file_module modules/mod_authn_file.so在 Apache 配置中。

现在,当我加载页面时,出现 500 错误,Apache 日志显示:

配置错误:无法检查用户。没有用户文件?:/

.htaccess .htpasswd apache-2.2

2
推荐指数
1
解决办法
4263
查看次数

Apache2 中的 .htaccess 用于 php url

我想任何URL映射如localhost/firstlocalhost/first.php在Ubuntu 15.04使用mod_rewrite为Apache。

以下是步骤。

  1. 使用 (apt-get apache2, php5) 安装 Apache2、PHP5 在 Apache 中启用 PHP,因此phpinfo()打印正确的信息。
  2. a2enmod 重写,重启 apache
  3. /etc/apache2/sites-enabled/000-default.conf,在适当的地方添加了以下内容。

    <VirtualHost *:80>
        <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>
    </VirtualHost>
    -- Restart Apache
    
    Run Code Online (Sandbox Code Playgroud)
  4. .htaccess/var/www/html

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^\.]+)$ $1.php [NC,L]
    
    Run Code Online (Sandbox Code Playgroud)
  5. chmod 644 /var/www/html/.htaccess

  6. 重启阿帕奇

但是像/localhost/second这样的请求不会转换为second.php.

  1. 已编辑.htaccess,将最后一行更改为RewriteRule ^second$ second.php. 然而没有成功。

  2. 在 Apache …

mod-rewrite .htaccess apache2

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

htaccess 将 HTTP 和 HTTPS 非 www 重定向到 HTTPS www

如何将我的网站从所有 HTTP 请求重定向到 HTTPS,并将非 www HTTPS 重定向到带有 www 的 HTTPS?

例子:

重定向 HTTP 非 www、HTTP www。& HTTPS 非 www:

HTTP://example.com/&& HTTP://www.example.com/&&HTTPS://example.com/

带有 www. 的 HTTPS 的所有内容:

HTTPS://www.example.com/

mod-rewrite .htaccess redirect

0
推荐指数
1
解决办法
1万
查看次数