.htaccess не переписывает URL - PullRequest
1 голос
/ 31 октября 2011

У меня есть эта проблема: администратор сервера говорит, что он включил rewrite_module для сервера apache, но когда я загружаю некоторые тестовые файлы на сервер, чтобы проверить эту функциональность, он не работает.

У меня естьон включен на локальном хосте и там прекрасно работает.

.htaccess content:

Options +FollowSymlinks
RewriteEngine on 
RewriteRule ^games/(.*)$ games.php?id=$1 [L]

games.php content:

<?php 
$var = $_GET['id'];
echo $var;
?>

URLS:

localhost url:http://localhost/testing/games/123123
production url:http://mysite.com/test2/games/123123 

test2 - это папка, содержащая файлы (.htaccess и games.php). Что происходит в рабочей среде, так это то, что когда я набираю это, я получаю страницу games.php, но идентификатор не отображается, а строка запроса пуставместо того, чтобы получить идентификатор 123123, который я предоставил. Для локального хоста все работает нормально, и я получаю идентифицированный идентификатор.Может администратор не прав или как?Заранее спасибо.

1 Ответ

4 голосов
/ 31 октября 2011

Вы находитесь в подкаталогах и говорите движку переписать, когда запрос начинается именно с 'игры'. Вы можете попытаться удалить символ ^, заменить его на косую черту / ... или добавить его после RewriteEngine на:

RewriteBase /testing/

в производстве:

RewriteBase /test2/

Или попробуйте:

RewriteEngine On
RewriteBase /test2/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^games/(.*)$ games.php?id=$1 [QSA,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...