|
|
|
| Хочется иметь красивые ссылки на моем сайте. Но я очень плох с регулярными выражениями.
Мой сайт photo-samara.ru или www.photo-samara.ru. Кое-что делаю, но чего-то нехватает. Помогите пожалуйста
Возьмем пока первый уровень. Остальные подобные
### Правило для страниц первого уровня
RewriteRule ^([a-z_A-Z_0-9\-]+)$ index.php?link=$1
Это наверное больше подойдет под main.ru, а как быть с "-"? | |
|
|
|
|
|
|
|
для: Diman
(21.02.2010 в 16:05)
| | >RewriteRule ^([a-z_A-Z_0-9\-]+)$
это будет срабатыввать если будет просто запрос как-бы папки с именем например Folder_1-0? и только если после этого нет например / или ещё чего.
^([a-z_A-Z0-9\-]+)/?$
сопостовляется с REQUEST_URI без знака вопроса и последующей QUERY_STRING, если такие имеются
Например запрос был "GET /dir/file.php?z=1&x=2"
может сопоставляться строка /dir/file.php , или dir/file.php или просто file.php
зависит от того где лежит это правило, или от того что записано в предшевствующей диррективе RewriteBase , и ещё от того что вообще бывает в apache с модулем mod_rewrite.
Hostname в RewriteRule не проверяется. | |
|
|
|
|
|
|
|
для: heed
(21.02.2010 в 16:42)
| | Как мне сделать красивые ссылки под мой сайт, если все страницы практически открываются как photo-samara.ru/index.php?link=##
Пишу в .htaccess
RewriteEngine on #Включаем Rewrite Engine
### Правило для страниц первого уровня, например photo-samara.ru/
RewriteRule ^([a-z_A-Z0-9\-]+)/$ index.php?link=$1
RewriteRule ^([a-z_A-Z0-9\-]+)/$ index.php?link=$1
|
В главном index.php пишу
if (isset($_GET['link']))
{
$link = $_GET['link'];
}
|
Что не так, подскажите пожалуйста | |
|
|
|
|
|
|
|
для: Diman
(21.02.2010 в 23:24)
| | а что не так ?
Options +FollowSymlinks
# бывает выключено
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z_A-Z0-9\-]+)/?$ index.php?link=$1 [L]
|
этого бывает достаточно чтобы по запросу http:/site/dir/ был вызван index.php?link=dir
, если , сервер вообще apache и в нём есть модуль mod_rewrite
, если FollowSymlinks включено или если позволяет включать так дирректива AllowOverride в конфигах
, и если я нигде не опечатался ;)
A так, найдите что-нибудь почитать по mod_rewrite RewriteRule RewriteCond
Но если в браузере будет http:/site/dir/ а на странице картинка src="1.gif" ,
то браузер запросит ещё и картинку http:/site/dir/1.gif | |
|
|
|