Apache Rewrite不起作用

时间:2015-05-20 19:31:46

标签: apache .htaccess rewrite

我不想强迫非www,但它不起作用,这是我的.conf来自网站 - 可用。

<VirtualHost *:80>    
DocumentRoot /var/www/example
ServerName example.com
ServerAlias www.example.com
<Directory "/var/www/example">
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
</Directory>
ServerAdmin admin@example.com

如果我的vhost conf和.htacess之间存在冲突,那么恶意显示我的htaccess代码:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    <FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">
        Header set Cache-Control "max-age=604800, public"
    </FilesMatch>

    # Uncomment the following line if server allows
    # This will compress js/css/html/php and increase site performance
    #<filesMatch "\.(js|css|html|php)$">
    #   SetOutputFilter DEFLATE
    #</filesMatch>

</IfModule>

1 个答案:

答案 0 :(得分:0)

你为什么同时使用这两种?您应该将所有。htaccess代码放在配置中,或者全部放在.htaccess中。我们建议对所有配置使用配置,并将AllowOverride设置为None以获得更好的性能。 。htaccess主要用于在您无法访问配置时进行共享托管。