Схема перезаписи 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

0

Решение

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

$ sudo a2enmod rewrite
$ sudo service apache2 restart

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]