2013-06-02 3 views
0

Моя цель - перенаправить доступ к mydomain.com/foo в mydomain.com/bar.html с помощью: 1- Пользователь не может указать, где перенаправляется hs 2- URL-адрес довольно и не содержит ни имени файла ни расширения, ни аргументов.Простая забытая переадресация не работает?

После ряда примеров, которые я нашел по этому вопросу у меня есть содержание моего файла .htaccess быть:

Options +FollowSymLinks 

RewriteEngine On 
RewriteRule ^/foo$ /bar.html [PT] 

который не работает. Запросы на mydomain.com/foo приводят к ошибке 404.

Хотя я был бы признателен за краткое объяснение того, почему приведенный выше пример не работает, я бы скорее дал указания правильному руководству по использованию механизма перезаписи; Все, что я нашел, казалось, полагают, что читатель уже грамотен в разных аспектах, таких как синтаксис, что он означает или теги ([PT], [R], [L] ...?).

Заранее благодарен!

ответ

0

Попробуйте это:

Options +FollowSymLinks 

RewriteEngine On 
RewriteRule ^/?foo$ /bar.html [PT] 

И дайте мне знать, если это работает!

+0

Это не работает. Что происходит,/foo перенаправляется в foo.html и/bar в /bar.html, в то время как несуществующие имена файлов, такие как/tup дают 404 –

+0

Можете ли вы переписать журнал перезаписи? – undone

0

Попробуйте этот код:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^foo/?$ /bar.html [L,NC] 
+0

То же поведение, что и Смерть. –

+0

Что происходит, когда вы прямо вводите: 'http: // domain.com/bar.html' в своем браузере? – anubhava

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