2015-01-17 2 views
0

Я использую HTTP-сервер Apache и PHP.Какую ошибку я делаю в файле .htaccess для своей папки?

У меня есть папка под названием «отдых» внутри «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 [email protected] 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. 

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

[Sat Jan 17 13:02:13.47] [core:alert] [pid 1297] [client 127.0.0.1:42956] /var/www/rest/.htaccess: Illegal option 

ответ

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] 
0

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

Варианты + FollowSymlinks RewriteEngine на

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

RewriteRule^([A-Za-Z_- ] *) $ index.php? name = $ 1 [nc, qsa]