У меня проблема с wordpress, пытающаяся переписать простой шаблон url для удовлетворения моих потребностей.wordpress rewrite issue - 404
Ищу:
How can I rewrite: localhost/projects/55/1 into index.php?page_id=X&proID=55&subID=1 ? without getting a 404 ?
То, что я пытался до сих пор:
Модифицированный .htaccess напрямую: не работает. Затем я прочитал несколько примеров и попробовал это, вызвав функцию wordpress add_rewrite_rule() на init-hook. Это мой текущий код:
add_action('init', 'add_rewrite_rules');
function add_rewrite_rules() {
add_rewrite_rule('^projects/([^/]*)/?([^/]*)?/?','index.php?page_id=8&proID=$matches[1]&subID=$matches[2]','top');
}
Может кто-нибудь мне помочь?
РЕДАКТИРОВАТЬ 1: Ссылка: http://codex.wordpress.org/Rewrite_API/add_rewrite_rule
EDIT 2:
Хорошо, лучше. Теперь я больше не получаю 404 года. Но, к сожалению, он все еще не работает (может быть, я что-то не так).
echo '<pre>'; var_dump($_REQUEST); var_dump(get_query_var('proID')); var_dump(get_query_var('subID')); echo '</pre>';
Результаты в:
array(0) {
}
string(0) ""
string(0) ""
Там является перезагрузки страницы, так что направляет localhost/projects
.
Firebug: URL: http://10.0.0.109:8888/projects/25/2 Status: 301 Moved Permanently Domain: 10.0.0.109:8888 Size: 3.1 KB RemoteIP: 10.0.0.109:8888
файл .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
# Custom rule
RewriteRule ^projects/([0-9]+)/?([0-9]+)?/?$ /index.php?page_id=8&proID=$1&subID=$2 [L,QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
С наилучшими пожеланиями
Спасибо за ваш ответ. Пожалуйста, взгляните на мой «Редактировать 2». Приветствия. –