2015-07-10 2 views
0

У меня есть сайт wordpress на моем локальном хосте в папке «abcd».Htaccess RewriteRule с параметрами throw 404 error

Адрес выглядит следующим образом: localhost/abcd. Я хотел бы перенаправить localhost/abcd/xxx/first/second на номер localhost/abcd/xxx?a=first&b=second.

Я написал этот HTAccess код, но это не правильно и страница броска 404 Ошибка:

RewriteRule ^xxx/([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ /abcd/xxx?a=$1&b=$2 [QSA] 

Что не так?

Это мой все .htaccess файл:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /abcd/ 
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /abcd/index.php [L] 
    RewriteRule ^xxx/([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ /abcd/xxx?a=$1&b=$2 [QSA] 
    </IfModule> 

ответ

0

Существует окончание слеш в шаблоне, что предотвратить совпадение. Кроме того, ^ указывает начало названия страницы, поэтому либо удалите ее, либо используйте ^abcd/.... Следующие должны работать:

RewriteRule ^abcd/xxx/([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ /abcd/xxx?a=$1&b=$2 [QSA]

+0

Спасибо за ответ, но он по-прежнему не работает. У меня опять ошибка 404. –

+0

Правило, которое я дал вам, соответствует указанному вами URL (посмотрите [этот инструмент] (http://martinmelin.se/rewrite-rule-tester/), может быть полезно проверить ваши правила заранее). Вы уверены, что цель действительна? Вам действительно нужен флаг '[QSA]'? –

+0

Спасибо за этот инструмент, это очень полезно. Я думаю, что это проблема с wordpress. Я не уверен с [QSA] –

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