2013-09-21 2 views
0

Я имею это в моем файле .htaccessПеренаправление страница (мод переписывание) не работает

Options -Indexes 

RewriteEngine on 
RewriteOptions MaxRedirects=1 
RewriteCond %{REQUEST_FILENAME} -f [NC,OR] 
RewriteCond %{REQUEST_FILENAME} -d [NC] 
RewriteRule .* - [L] 
RewriteRule ^(.*)$ /profiles.php/$1 [QSA,L] 

Это работает отлично ом мой компьютер, но ом мой веб-сервер он терпит неудачу.

Это, однако перенаправление на страницу profiles.php, но я не могу получить значение за приборной панелью с $_SERVER['PATH_INFO']

Означает ли это, mod_rewrite не активен или что-то еще не так?

+1

Если mod_rewrite недоступен, вы получите внутреннюю ошибку сервера, используя эти директивы. Скорее всего, что-то в конфигурации server/php, которая не передает сценарии PATH_INFO в PHP. Взгляните на весь массив $ _SERVER, если вы найдете значение где-то еще, f.e. в REQUEST_URI. – CBroe

+0

спасибо, ваш комментарий решил –

+0

ОК, добавили его в качестве ответа. Не могли бы вы также сказать, как именно он решил вашу проблему, соответственно. что вы изменили в своей конфигурации/сценарии? Это может помочь и другим людям, спасибо. – CBroe

ответ

0

Если mod_rewrite недоступен, вы получите внутреннюю ошибку сервера, используя эти директивы. Скорее всего, что-то в конфигурации server/php, которая не передает сценарии PATH_INFO в PHP.

Посмотрите на весь массив $ _SERVER, если вы найдете значение где-то еще, f.e. в REQUEST_URI. (Там вы, вероятно, найдете весь путь, например, /profiles.php/path_info_data_here, так что вам нужно будет снять первую часть.)

Смежные вопросы