apache的rewirte配置

任何二级域名,均跳转到www下。

本地测试站点:www.myphp.com,下面是apache里的配置:

<VirtualHost *>
    <Directory "D:/webroot/myphp.com">
        Options -Indexes FollowSymLinks
        Allow from all
        AllowOverride All 
    </Directory>   
    ServerAdmin admin@www.myphp.com
    DocumentRoot "D:/webroot/myphp.com"
    ServerName myphp.com:80
    ServerAlias *.myphp.com   

  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^myphp\.com
  RewriteRule ^(.*)$ http://www.myphp.com/ 

    ErrorLog logs/www.myphp.com-error_log
</VirtualHost>

注意: “ServerAlias *.myphp.com ”这个配置必须有。

方法二:在网站根目录下建立.htaccess文件,讲跳转代码写在这个文件中即可

apache中的配置为:

<VirtualHost *>
    <Directory "D:/webroot/myphp.com">
        Options -Indexes FollowSymLinks
        Allow from all
        AllowOverride All 
    </Directory>   
    ServerAdmin admin@www.myphp.com
    DocumentRoot "D:/webroot/myphp.com"
    ServerName myphp.com:80
    ServerAlias *.myphp.com
    ErrorLog logs/www.myphp.com-error_log
</VirtualHost>

.htaccess文件中的文件配置为:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^myphp\.com
RewriteRule ^(.*)$ http://www.myphp.com/

注意:添加.htaccess文件文件时,必须在apache里配置:

    Options -Indexes FollowSymLinks
        Allow from all
        AllowOverride All 

以上三项。

“.htaccess文件”的创建方法:在windows下无法直接创建这个文件,需通过文件编辑器创建,我用editplus,应该还有其它工具。

RewriteCond语句的作用类似if语句,执行条件判断。

原文地址:https://www.cnblogs.com/shary/p/2343828.html