Я использую HTTP-сервер Apache и PHP.
У меня есть папка «остальное» внутри «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
У вас есть синтаксическая ошибка здесь: [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]
Опции + FollowSymlinks
ПереписатьEngine на
RewriteRule ^ ([a-zA-Z _-] *) $ index.php? Name = $ 1 [nc, qsa]