Какую ошибку я делаю в файле .htaccess для своей папки?

0

Я использую HTTP-сервер Apache и PHP.

У меня есть папка с именем "rest" внутри папки "www", в которой я создал один файл.htaccess и написал в него следующий код.

# Turn on the rewrite engine
Options + FollowSymlinks
RewriteEngine on

# Request routing 
RewriteRule ^([a-zA-Z_-]*)$ index.php?name=$1 [nc, qsa]

Затем я запускаю файл index.php из этой папки в браузере, после чего я получил следующую ошибку в браузере.

**Internal Server Error**
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

После этого я проверил журнал ошибок apache в файле /var/log/apache2/error.log. Я нашел следующую строку:

[Sat Jan 17 13:02:13.470123 2015] [core:alert] [pid 1297] [client 127.0.0.1:42956] /var/www/rest/.htaccess: Illegal option
Теги:
.htaccess
mod-rewrite
error-log

2 ответа

0

Включите двигатель перезаписи

Опции +FollowSymlinks RewriteEngine on

Запрос маршрутизации

RewriteRule ^ ([a-zA-Z_-] *) $ index.php? Name = $ 1 [nc, qsa]

0

У вас есть синтаксическая ошибка здесь: [nc, qsa] (пробелы между ними).

Вы можете использовать:

# Turn on the rewrite engine
Options + FollowSymlinks
RewriteEngine on

# Request routing, skip directories
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z_-]+)$ index.php?name=$1 [L,NC,QSA]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню