не может передать значения строки запроса для переписанных URL - PullRequest
1 голос
/ 02 февраля 2012

Я изо всех сил пытаюсь реализовать изменение URL на сайте.Во-первых, я хочу реализовать это изменение URL только на уровне подкаталогов. У меня установлен WordPress в корне, но я нахожусь в процессе создания пользовательского раздела объявлений.Это сидит в каталоге / Доска объявлений /.В результате я хочу переписать только URL-адреса в этом подкаталоге.

Мне удалось заставить корректно работать перезапись только для подкаталога объявлений, как требовалось, с добавленной 301 и добавленной косой чертой для SEO.Единственная проблема, с которой я столкнулся, это то, что ни одна из моих страниц не передает значения строки запроса.Как я могу изменить мой код .htaccess ниже, чтобы он позволял передавать строки запросов между страницами?

IndexIgnore *

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.mysite.com/classifieds/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ http://www.mysite.com/classifieds/$1/ [R=301,L]

redirect 301 /classifieds/index/ http://www.mysite.com/classifieds/

Заранее благодарим за помощь!

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

Если я правильно понимаю, вы хотите, чтобы строка запроса сохранялась на нескольких страницах, верно? Если это так, то единственный способ сделать это - вывести все ссылки на страницу с добавленной строкой запроса, то есть это будет сделано в вашем PHP-файле.

Для этого ссылки должны выводиться с добавлением urlencode($_GET) в конце URL.

0 голосов
/ 02 февраля 2012

Вам необходимо добавить [QSA] Вложение строки запроса

РЕДАКТИРОВАТЬ

RewriteRule ^ (([^ /] + /) * [^.] +).php $ http://www.mysite.com/classifieds/$1 [R = 301, L, QSA]

и

RewriteRule (. *) $ http://www.mysite.com/classifieds/$1/ [R = 301, L,QSA]

...