RewriteRule в .htaccess показывает переписанный URL в адресной строке - PullRequest
0 голосов
/ 23 января 2012

Извиняюсь, если об этом уже спрашивали, но я искал ответ на этот вопрос, но не смог найти удовлетворительного решения.

В моем httpdocs есть следующий файл .htaccess:

Options +FollowSymlinks
RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/users/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ users/$1 [L]

Это правильно сопоставляет "www.example.com/joebloggs" с "www.example.com/users/jobloggs", и соответствующая страница указателя отображается правильно.

Проблема в том, что «www.example.com/users/jobloggs» отображается в адресной строке вместо исходного (короткого) URL-адреса. Буду очень признателен за любую помощь в этом.

1 Ответ

0 голосов
/ 23 января 2012

Если вы говорите, что он загружает файл DirectoryIndex (например, index.html / index.php), то я бы сказал, что проблема заключается в отсутствии косой черты в замене RewriteRule.Попробуйте что-то вроде:

RewriteRule ^(.+?)/?$ users/$1/ [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...