Я не могу заставить не-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>
Является ли это внутри тега директивы VirtualHost? Я этого не вижу. Однако само правило кажется прекрасным. Также не забудьте перезапустить apache, если вы только что добавили это. –
Да, я пропустил эту строку, пока ср. Я перезапустил apache, я также удалил кеш браузеров и файлы cookie. Все равно не работает :( – wr21
«Это не работает» не является заявлением о проблеме. Если не задан какой-либо запрос проблемы, я должен предположить, что фиолетовые единороги появляются каждый раз, когда вы включаете свой компьютер, и это ожидаемое поведение. case, ** добавьте сообщение об ошибке, которое вы получаете **. Предоставьте нам как можно больше информации. URL-коды состояния URL-адресов. Все остальное, что вы могли бы или не заметили. – Sumurai8