Запрошенный URL /generate/5r4reia5b7 не найден на этом сервере

#php #apache

#php #apache

Вопрос:

Я только что восстановил проект о системе желаний, но я потерялся, потому что у меня ошибка сервера.

Все хорошо работает на MAMP (на моем локальном сервере), но не на сервере разработки

На сервере разработчиков я получил :

 The requested URL /generate/5r4reia5b7 was not found on this server
 

Я ничего не знаю о сервере.

Я получил .htaccess файл, подобный этому

 Options -Indexes
Options  FollowSymlinks
RewriteEngine On
RewriteRule ^generate/(.*)$ generate.php?hash=$1 [L]
RewriteRule ^send/(.*)$ send.php?hash=$1 [L]
RewriteRule ^view/(.*)$ view.php?hash=$1 [L]
 

Когда пользователь нажимает на кнопку, чтобы сгенерировать карточку желаний, URL-адрес: http://www.example.com/generate/5r4reia5b7

 function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyz';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i  ) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

<button id="go">Create my card</button>

$("#go").click(function( event ) {
    saveAction('btCreateCard');
    window.location = '/generate/<?php echo generateRandomString() ?>';
});
 

Могу ли я получить некоторую помощь, пожалуйста? Что не так с php-кодом /.htaccess? Это из-за конфигурации сервера?

Ответ №1:

Добавьте директиву RewriteBase поверх вашего .htaccess

 Options -Indexes
Options  FollowSymlinks
RewriteEngine On
RewriteBase "/"

RewriteRule ...

 

Комментарии:

1. Спасибо за вашу помощь. К сожалению, у меня такая же ошибка

2. убедитесь, что mod_rewrite включен на вашем сервере через phpinfo() или apachectl -l

3. Yes mod_rewrite уже был активирован на сервере