[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: пару вопросов по ЧПУ
Страницы: 1, 2
darkavenger
Здравствуйте! хотел бы задать несколько вопросов по ЧПУ, а именно:
1) я хочу из подобного адреса http://mysite.ru/about.php?lang=ru сделать такой http://mysite.ru/ru/about

я пишу в .htaccess
RewriteEngine on
RewriteRule ^([-a-zA-Z]+)/about/? about.php?lang=$1 [QSA,L]

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

2)внутренняя перелинковка. может ли .htaccess переделывать ссылки из http://mysite.ru/about.php?lang=ru в такой http://mysite.ru/ru/about, а то у меня просто можно зайти и на тот и на тот, но если ссылка поставлена таким образом, как в первом варианте, он не переделывает ее во второй. Может конечно я ошибаюсь, но возможно ли это? Спасибо
killer8080
Цитата (darkavenger @ 4.02.2013 - 14:55)
но у меня в итоге ломаются все ссылки на css которые идут в этом файле,

нужно указывать пути от корня, например не так "css/style.css", а так "/css/style.css"
Цитата (darkavenger @ 4.02.2013 - 14:55)
2)внутренняя перелинковка. может ли .htaccess  переделывать ссылки из http://mysite.ru/about.php?lang=ru в такой http://mysite.ru/ru/about

можно, нужно делать редиректы
darkavenger
да, точно насчет пути от корня я скосячил, спасибо!
эмм, а редирект каким образом?
darkavenger
как можно сделать редирект?

Redirect 301 /about.php?lang=ru http://mysite.ru/ru/about
не работает...
killer8080
попробуй так (код не проверял)
RewriteEngine On
RewriteCond %{THE_REQUEST} (\?|&)lang=([a-z]{2}) [NC]
RewriteRule ^([a-z\d]+)\.php$ %{SERVER_PROTOCOL}://%{HTTP_HOST}/%2/$1 [L,QSA]
killer8080
RewriteEngine On

RewriteCond %{THE_REQUEST} (\?|&)lang=([a-z]{2}) [NC]
RewriteRule ^([a-z\d]+)\.php$ http://%{HTTP_HOST}/%2/$1/? [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
Guest
можно в двух словах пояснить пожалуйста?) чтоб я и другие ссылки переделал
darkavenger
да, а вот тут как раз таки css и падает... я переставил ссылки, так чтобы они были от корня, но почему-то при таком условии в .htaccess это не работает. Вдобавок путь меняется при нажатии на ссылки меню, но остается индексная страница со сломанным стилем
darkavenger
а не, все норм, забыл раскомментить

RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z_]+)/? $2.php?lang=$1 [QSA,L]

другой косяк, подключенный шрифт в css падает почему-то....


@font-face {
font-family: TIPO;
src: url(../fonts/aBosaNova.eot);
}


css подключается

<link rel="stylesheet" type="text/css" href="/css/style.css"/>
killer8080
Цитата (darkavenger @ 8.02.2013 - 17:09)
другой косяк, подключенный шрифт в css падает почему-то....

потому что путь относительный, когда пользуешь ЧПУ, об относительных путях забудь. Да и вообще их лучше не использовать.
darkavenger
да даже если от каталога, все равно шрифт отваливается
darkavenger
хотя относительные пути должны работать в css так как я вылезаю из папки css и иду в папку со шрифтами, должно быть все ок! с бэкграундом, который подключается через относительный путь то все нормально, а шрифт ни так ни так не работает почему-то
killer8080
src: url(../fonts/aBosaNova.eot);

замени на
src: url(/fonts/aBosaNova.eot);
darkavenger
да не работает, говорю ж....
killer8080
darkavenger
какой полный урл к шрифту? Такой?
http://example.com/fonts/aBosaNova.eot
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.