2015-03-13 4 views
1

Я хочу, чтобы перенаправить что-то вроде:Перенаправление любого URL, начиная с некоторыми символами

domain/start[optional]/xxx 

в

domain/something/xxx 

Я пытался добавить в .htaccess:

# Rewrite any start* route to something route 
RewriteCond %{REQUEST_URI} 
RewriteRule ^start[^/]*/(.*)$ /something/$1 [R=301, L] 

но я 'Получает внутреннюю ошибку сервера. Любая идея, что я делаю неправильно?

журналы Апач говорит:

RewriteCond: плохой аргумент строка '% {REQUEST_URI}'

+0

Что говорит внутренняя ошибка сервера? – TZHX

+0

Ваши редиректоры кажутся правильными, вероятно, вы получите ошибку, потому что вы должны разрешить переопределения в htaccess. в этом случае см. здесь: http://stackoverflow.com/questions/6995545/htaccess-rewriteengine-not-allowed-here –

+0

@TZHX - Изменен вопрос. – Manolo

ответ

1

Ваше правило имеет несколько вопросов синтаксиса. Попробуйте это правило:

# Rewrite any start* route to something route 
RewriteRule ^start[^/]*/(.*)$ /something/$1 [R=301,L,NC] 
+1

Отлично! Вы всегда решаете мои проблемы с регулярным выражением :) – Manolo

+0

Теперь я больше не получаю ошибку сервера, но не перенаправляет. Позвольте мне попробовать некоторые вещи, прежде чем маркировать, как ответили. – Manolo

+0

Является ли 'start' каталогом? Если это не так, поместите это правило чуть ниже строки 'RewriteEngine On' – anubhava

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