Я установил 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
Подключитесь к вашему серверу по SSH
$ sudo a2enmod rewrite
$ sudo service apache2 restart
Кажется, ваш мод перезаписи не включен на вашем сервере (но на вашем локальном компьютере).
Других решений пока нет …