天天看點

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>