2014-10-10 4 views
1

Я не знаю, правильно ли я подошел. В принципе у меня есть URL

www.mydomain.com/openings.html?jobName=accounting-manager

Я хочу URL быть

www.mydomain.com/ отверстия/расчётно-manager.html

Итак, я добавил это в .htaccess

RewriteRule^проемы/([^ /] *). HTML $ /openings.html? \ Jobfilename = $ 1 [L]

Так что URL работает, как предполагалось. Теперь я хочу прочитать $ _GET ['jobName'] на этой странице, чтобы я мог распечатать его на странице. Но после перезаписи URL переменной $ _GET нет. Есть ли способ доступа? Нужно ли мне переписывать переписку или я должен подойти к этому по-другому?

Спасибо.

+0

Что такое бит '? \ J' escape? нет причин для того, чтобы этот '\ [space]' находился в URL-адресе, потому что это стало частью имени параметра запроса. например вам нужно будет обращаться к '$ _GET ['\\ jobfilename']', потому что '\ [пробел]' ничего не значит для системы URL. –

+0

Так должно быть? RewriteRule^открытия/([^ /] *). Html $ /openings.html?jobfilename=$1 [L] – Blueboye

+0

выглядит лучше. и вы также можете сделать «var_dump ($ _ GET)» в своем скрипте, чтобы увидеть, что ВСЕ запрос вводит получение скрипта. –

ответ

0

использовать этот код

<?php 
$url=explode("/", $_Server['request_url']); 
print_r($url); 
?> 

вы увидите массив содержит URL-адрес

1

его наиболее вероятно, потому, что MultiViews включен. Поместите это поверх файла .htaccess.

Options -MultiViews 

Также зарегистрируйтесь QSA flag for your rule.

+0

[QSA] - добавление строки запроса было тем, о чем я думал: https://wiki.apache.org/httpd/RewriteFlags/QSA – Jonathan

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