2013-06-25 4 views
0

Мне нужно сделать переадресацию http://www.example.com/2-for-1 в http://www.example/article/1. Либо все, что я пробовал до сих пор, неверно, или сервер запутан.Перенаправление с тире/дефисом

Может ли кто-нибудь хорошо осведомлен о том, чтобы сообщить мне правильный синтаксис, чтобы я мог проверить неправильность настроек сервера?

Это некоторые из моих недавних попыток:

RewriteRule ^(.*)2(\-)for(\-)1$ http://www.example.com/article/1 [NC,R=301,L] 
RewriteRule ^(.*)/2\-for\-1$ /article/1 [NC,R=301,L] 
RewriteRule ^2-for-1/?$ article/1 [NC,L] 
+0

Ваш последний пример работает для меня. Убедитесь, что перед вами нет правила, которое останавливает его, и что у вас есть «RewriteEngine on» в вашем .htaccess. – icabod

+0

Также вы хотите увидеть переписанный URL-адрес в браузере? Если это так, вам нужно добавить флаг '[R]'. – icabod

ответ

0

Включение mod_rewrite и .htaccess через httpd.conf, а затем поместить этот код в .htaccess под DOCUMENT_ROOT каталоге:

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

RewriteRule ^[^-]+-for-([^/]+)/?$ /article/$1 [R=301,NC,L]