#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
уже был активирован на сервере