2015-05-20 8 views
0

Я не могу заставить не-www, но он не работает, вот мой .conf с доступных сайтов.Apache Rewrite не работает

<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 [email protected] 

В случае возникает конфликт между моим ВХост конф и .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> 
+0

Является ли это внутри тега директивы VirtualHost? Я этого не вижу. Однако само правило кажется прекрасным. Также не забудьте перезапустить apache, если вы только что добавили это. –

+0

Да, я пропустил эту строку, пока ср. Я перезапустил apache, я также удалил кеш браузеров и файлы cookie. Все равно не работает :( – wr21

+0

«Это не работает» не является заявлением о проблеме. Если не задан какой-либо запрос проблемы, я должен предположить, что фиолетовые единороги появляются каждый раз, когда вы включаете свой компьютер, и это ожидаемое поведение. case, ** добавьте сообщение об ошибке, которое вы получаете **. Предоставьте нам как можно больше информации. URL-коды состояния URL-адресов. Все остальное, что вы могли бы или не заметили. – Sumurai8

ответ

0

Почему вы используете оба? Вы должны либо положить все. htaccess код в конфигурации или все в .htaccess. Рекомендуется использовать конфигурацию для всего этого и установить AllowOverride на None для лучшей производительности. , htaccess в основном предназначен для совместного использования хостинга, когда у вас нет доступа к конфигу.