Apache Httpd 启用重定向 rewrite

1、启用模块

  由:#LoadModule rewrite_module modules/mod_rewrite.so

  更改为:LoadModule rewrite_module modules/mod_rewrite.so

2、允许重写功能

  由:AllowOverride=None

  更改为:AllowOverride=All

3、

  方法一:一般用于MVC的时候使用,将所有的访问都重定向到入口文件

       配置 .htaccess 文件,在项目根目录下创建文件,名称为:.htaccess

  <IfModule mod_rewrite.c>
    # 打开Rerite功能
    RewriteEngine On

    # 如果请求的是真实存在的文件或目录,直接访问
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # 如果访问的文件或目录不是真事存在,分发请求至 index.php
    RewriteRule . index.php
  </IfModule>

方法二:一般用在http转https的时候,将所有http的访问跳转到https中。

  <VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.emma.com
    ServerAlias www.alex.com
    ErrorLog "logs/discuz-error_log"
    CustomLog "logs/discuz-access_log" common


    <IfModule mod_rewrite.c>
      RewriteEngine on

      RewriteRule ^/(.*)$ 你的域名/$1 [R=301,L]

    </IfModule>

  </VirtualHost>

之所以成功,因为有坚持。。。
原文地址:https://www.cnblogs.com/heyunxu/p/11247249.html