Можно ли изменить отображаемый URL из фактического URL? - PullRequest
0 голосов
/ 12 августа 2010

На днях я опубликовал вопрос о том, как изменить отображаемый URL на странице, сгенерированной Wordpress, в частности с «mysite.com/?cat=3» на «mysite.com». Я получил несколько ответов, которые подтолкнули меня к некоторому типу перенаправления с .htacess. После некоторых исследований и экспериментов я понял, что это не столько перенаправление, сколько мне нужно, а просто способ изменить отображаемый URL в браузере.

Часть проблемы заключается в том, что рассматриваемая страница динамически генерируется с помощью комбинации стандартного кода WP, плагина календаря событий WP (the-events-calendar) и некоторого пользовательского кода, добавленного разработчиком. Я играл с постоянными ссылками и слагой категории, но не могу получить желаемый результат.

Большой вопрос, я думаю, таков: «Возможно ли, чтобы веб-сервер доставил, например,« xyz.com/somedir/somefile.php?withsomequerystring=yes », но поручил браузеру показать URL-адрес как 'xyz.com/pretty-url'? "

Хакеры, похоже, способны совершать всевозможные злые поступки, чтобы заставить людей думать, что они находятся на одной веб-странице / сайте, когда они на самом деле где-то еще. Я думаю, что то, что я спрашиваю, возможно через htaccess / mod_rewrite, но я не знаю, как этого добиться. Я уже несколько недель бьюсь головой об стену, поэтому я был бы в восторге, если бы у кого-нибудь было хорошее предложение.

Спасибо!

Ответы [ 4 ]

1 голос
/ 16 июля 2012

Использовать постоянные ссылки

Для настройки URL-адреса на сайте WordPress.Посетите панель инструментов и под Settings вы найдете ссылку Permalinks.

0 голосов
/ 12 августа 2010

Я могу повозиться с этим позже - я на работе. Но я думаю, что это не так уж сложно.

Я слышал, что вы хотите сделать следующее: пользователь (скорее браузер) запрашивает некрасивый URL, вы хотите показать , что находится на некрасивом URL , но вы хотите, чтобы они увидели симпатичный URL.

Краткий ответ: выполнить перенаправление заголовка с некрасивого URL на симпатичный URL, а затем выполнить внутреннюю переписывание симпатичного URL-адреса в виде некрасивого URL .

Вам придется посмотреть, как сделать эти две вещи самостоятельно, но они не сложны. Кроме того, вы захотите либо сделать перенаправление заголовка более высоким приоритетом, чем перезапись (поместите его выше в .htaccess), либо сделать внутреннюю перезапись последней перезаписью (поставить флаг [l] после RewriteRule), чтобы перенаправления не делались. т петля.

Вы упомянули много пользовательского кода, и с этим решением этот код увидит, что запрос поступил из симпатичного URL. (И относительные ссылки на скрипт / изображение / таблицу стилей будут разрешаться относительно симпатичного URL, но относительные URL в Wordpress будут очень глупыми.)

0 голосов
/ 13 августа 2010

@ webwiz: Вам может пригодиться этот ответ, который я отправил всего 10 минут назад, чтобы быть полезным.

Возможно, я смогу помочь еще, но мне нужно понять, что именно на вашем сервере генерирует URL для следующего формата:

http://xyz.com/somedir/somefile.php?withsomequerystring=yes

который вы хотите преобразовать в:

http://xyz.com/pretty-url

Мне интересно, маршрутизируются ли какие-либо из них через любой из *_link хуков, которые я описал в другом посте?

0 голосов
/ 12 августа 2010

"Возможно ли, чтобы веб-сервер доставил, например, 'xyz.com/somedir/somefile.php?withsomequerystring=yes', но дал браузеру указание показать URL как 'xyz.com/pretty-url' ? "

Вы не можете заставить браузер показывать URL, отличный от того, на котором он включен. Но что ты можешь сделать, Как вы уже сказали, используйте mod_rewrite для внутреннего перевода xyz.com/pretty-url в URL, который вы упомянули.

...