За последние 24 часа нас посетили 49699 программистов и 1731 робот. Сейчас ищут 596 программистов ...

Преобразование URL

Тема в разделе "Прочие вопросы по PHP", создана пользователем Jekis, 1 сен 2009.

  1. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    Товарищи, как можно сделать преобразование имени url на php? Сделал это с помощью мода mod_rewrite но возникла проблема, при наведении на ссылку с другой страницы, отображается старый url а при нажатии, в АС преобразованный url. И это ведь для каждой страницы нужно писать код в .htaccess.

    Вот код .htaccess и html страницы с которой идёт ссылка на преобразованную страницу (если это необходимо).

    pool.html
    <a class="p_inactive" href="test.html">2</a> ( при наведении test.html, при нажатии ?test=2)

    htaccess:
    RewriteEngine on
    RewriteBase /
    RewriteRule ^test\.html$ ?test=2 [R]

    Надеюсь на Вашу помощь, очень нужно. Заранее спасибо.
     
  2. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    просто не надо использовать флаг R тогда не будет редиректа
     
  3. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    Если убрать флаг R тогда преобразование вообще не происходит.
     
  4. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    а если так?
    RewriteEngine on
    RewriteBase /
    RewriteRule ^test\.html$ index.php?test=2 [L]
     
  5. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    Тоже самое не преобразует (((
     
  6. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
  7. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    Да у меня в принципе преобразования происходит, меня волнует другой вопрос как изменить url при наведении на ссылку с другой страницы? Вот скриншот. После нажатия на 2 всё проходит нормально url в адресной строке http://localhost/?test=2.
    [​IMG]
     
  8. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
  9. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    да что бы при наведении тоже был преобразованный url http://localhost/?test=2 ? а не старый.
     
  10. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    ну тогда пишите его в href и все, зачем городить огород?
     
  11. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    Если я напишу <a class="p_inactive" href="?test=2 ">2</a> будет полный бред ссылка не будет работать. Может вы меня просто не понимаете, (вот сайтик http://www.free-download-internet.com/) вот тут под цифрами ссылки, вот этого мне необходимо добиться. Чтобы и при наведении на них мышкой высвечивался ?test=2 и точно такой же URL был. Но я так думаю там на php всё написанно. Поэтому я и обратился на этот форум.
     
  12. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    интересно почему же она не будет работать? может потому что надо указать в href http://localhost/?test=2 а не ?test=2 или хотя бы /?test=2
     
  13. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    А гугл будет воспринимать преобразованый url ведь?? Т.е ?test=2 И это прийдётся допустим у меня будет много страниц перобразовавыться, для каждой страницы надо будет прописывать код преобразования отдельно???
     
  14. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    гуглу все равно стоит у вас адрес http://localhost/?test=2 или http://localhost/test.html какой вы поставите такой и проиндексирует. динамические адреса давно нормально индексируются
     
  15. Jekis

    Jekis Активный пользователь

    С нами с:
    1 сен 2009
    Сообщения:
    14
    Симпатии:
    0
    LuckyScrat
    Подскажите пожалуйста, если много страниц нужно преобразовывать, это для каждой вписывать код в htaccess: прийдется?
     
  16. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    сделал простые урлы с модреврайтом и вопрос один остался... да простят меня форумчане за ТАКОЙ пример, но всё же...
    _www.artlebedev.ru/everything/print/ или _www.artlebedev.ru/everything/print/index.html есть одно и тоже конечно
    если наберём _www.artlebedev.ru/everything/print/index.htm в адресной строчки автоматом исправится на _www.artlebedev.ru/everything/print/index.html или если наберём _www.artlebedev.ru/everything/print сразу автоматом подставит слеш как это правильно - _www.artlebedev.ru/everything/print/

    Я создал себе простые ссылки подтип этого site.ru/cat1/cat2/cat3/ всё работает нормально, но если наберу site.ru/cat1/cat2/cat3 или site.ru/cat1/cat2/cat3/index.html и т.д. то разумеется страница будет не найдена.

    В этом и вопрос. Порекомендуйте как правильнее написать правило для имитации индексных файлов и последнего бэкслеша. Могу быстро реализовать это с помощью php, но вопрос правильно ли это?


    Может есть способы всё решить через строчки в htaccess?
     
  17. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    можно без вреда это сделать переадресацией на js?
     
  18. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    пытаюсь имитировать index.html для своих ЧПУ - но при обращении выдаёт 404 ошибку....:( как правильно это сделать?