Схема перезаписи URL.htaccess не работает на сервере. в localhost это работает

Я установил php 5.59 и apach2 2.4.7 в моем VPS на koding.com. У меня есть рабочий файл.htaccess, который (на данный момент не очень чистый) работает без проблем. Однако когда я загрузил сайт на сервер, он работает забавно. Theres один URL, как это

http://bhashithe.koding.io/forum/read/need-to-check-the-answer-counter-works

Я добавил схему переписывания, как это

RewriteRule ^read/(.*)$ /read.php?url=$1

Но когда я открываю эту ссылку, она перенаправляется на

http://bhashithe.koding.io/forum/read.php?url=need-to-check-the-answer-counter-works

Как бы то ни было, эта ссылка работает нормально. Но когда я открываю другие ссылки, они возвращают ошибку 404, полностью перенаправленную на ту, которую я упомянул в файле.htaccess.

Я включаю весь файл для вашей справки.

RewriteEngine on RewriteCond %{HTTP_HOST} ^bhashithe.koding.io [NC] 

RewriteRule ^read/(.*)$ /read.php?url=$1
RewriteRule ^edit/(.*)$ /creator.php?url=$1
RewriteRule ^category/(.*)$ ./category.php?category=$1
RewriteRule ^tag/(.*)$ ./tag.php?tag=$1
RewriteRule ^index.html$ ./post.php
RewriteRule ^$ ./post.php
RewriteRule ^login$ ./login.php
RewriteRule ^new/$ ./creator.php
RewriteRule ^search/(.*)$ ./search.php?key=$1
RewriteRule ^profile/(.*)$ ./profile.php?username=$1
RewriteRule ^login/(.*)$ ./login.php?response=$1
RewriteRule ^settings/(.*)$ ./settings.php?response=$1
RewriteRule ^profile/(.*)$ ./forum/profile.php?username=$1&feedback=$2

ErrorDocument 404 /forum/error.php

Если есть что-то, что я делаю неправильно, будьте любезны указать на это. Спасибо, Bhashithe

1 ответ

Подключитесь к вашему серверу по SSH

$ sudo a2enmod rewrite
$ sudo service apache2 restart

Кажется, ваш мод перезаписи не включен на вашем сервере (но на вашем локальном компьютере).

Другие вопросы по тегам