2013-10-24 5 views
1

Я пытаюсь использовать RewriteRule для перенаправления запросов на URL-адреса в обновленную строку URL. Это для сайта WordPress.RewriteRule, похоже, не работает, но RedirectMatch делает

/категория-о /категория-о-ИмяСтраницы

Если перенаправление: /категорию/категории, о /категории/категория-о-Pagename

Это правило: RedirectMatch permanent ^/([^/]+)-([^/]+)/?$ /$1/$1-$2/, кажется, делает трюк красиво. Однако, кажется, беспорядок/wp-admin, перенаправляя запросы wp-admin в/wp/wp-admin.

Я пытался использовать правила перезаписи вместо:

RewriteCond %{REQUEST_URI} !^/wp- 

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

Но это, кажется, не имеют никакого эффекта и правила перезаписи не похоже на работу, в то время как RedirectMatch сделал.

Любые мысли здесь?

ответ

0

Remove ведущий слэш:

RewriteCond %{REQUEST_URI} !^/wp- 
RewriteRule ^([^/]+)-([^/]+)/?$ /$1/$1-$2/ [L,R=301] 

Leading slash не соответствует в .htaccess, так как это применяется в каталог.

+0

Я должен вам пенистую кружку вашего любимого напитка, сэр. =) Последний вопрос, как я могу написать условие перезаписи для исключения файлов с расширением .html? –

+0

Добро пожаловать. Для этого '.html' пропущения вы можете иметь' RewriteCond% {REQUEST_URI}! \. Html $ ' – anubhava

+0

Хорошо, сэр, можно ли попросить вас также взглянуть на этот вопрос? http://goo.gl/hyCtNG –

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