Помощник
Здравствуйте, гость ( Вход | Регистрация )
Изменение вида ссылки. |
ZyXEL |
2012-02-10, 0:52
Сообщение
#1
|
|
Любитель Группа: Eleanor user Сообщений: 111 Регистрация: 2009-08-28 Из: Moscow Репутация: нет Всего: нет |
Собственно есть у меня ссылки вида: index.php?module=test&s={$s}, нужно сделать ЧПУ для данной ссылки вида: test-server-{$s}.html
На АС подобный вопрос решал в .htaccess: RewriteRule ^test-server-([0-9]*).html index.php?name=test&s=$1 RewriteRule ^test.html index.php?name=test В EL подобный метод не помог, и на страницах /test-server-{$s}.html движок выдаёт ошибку 404 Страница не найдена. Помогоите, как сделать, чтобы страницы доступные по адресу: index.php?module=test&s={$s} были также доступны на test-server-{$s}.html |
|
|
||
Alexander |
2012-02-10, 19:02
Сообщение
#2
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Пусть ваш модуль генерирует уже готовое ЧПУ. А в .htaccess никто не мешает написать тот же код, только вместо name= напишите module=
|
|
|
||
ZyXEL |
2012-02-10, 22:51
Сообщение
#3
|
|
Любитель Группа: Eleanor user Сообщений: 111 Регистрация: 2009-08-28 Из: Moscow Репутация: нет Всего: нет |
Забил в .haccess:
RewriteRule ^test-server-([0-9]*).html index.php?module=test&s=$1 RewriteRule ^test.html index.php?module=test Движок при переходе по ссылке: /test-server-1.html выдаёт 404 ошибку. Попробовал такую вариацию: RewriteRule ^test-server-{$s}.html index.php?module=test&s={$s} Тоже не помогло. В файле скрипта ссылки генерируются след. образом: case "eleanor": $link = $s ? "index.php?module=test&s={$s}" : "index.php?module=test"; break; При попытке ввести: case "eleanor": $link = $s ? "test-server-{$s}.html" : "test.html"; break; Тоже 404 ошибка. |
|
|
||
Alexander |
2012-02-10, 22:55
Сообщение
#4
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
ZyXEL, попробуйте забить вот таким образом:
|
|
|
||
ZyXEL |
2012-02-10, 23:08
Сообщение
#5
|
|
Любитель Группа: Eleanor user Сообщений: 111 Регистрация: 2009-08-28 Из: Moscow Репутация: нет Всего: нет |
Ввел, то что Вы выше написали, результат тот же.
http://cyberathlete.ru/test.html - вот сам модуль. Как я уже писал скрипт обрабатывает ссылки так:
И при переходе по ссылке: http://cyberathlete.ru/index.php?module=test&s=1 все работает. Но вот при попытке открыть адрес /test-server-1.html снова ошибка 404. Раньше скрипт обрабатывал ссылки так:
В .htaccess были следующие строки:
И все работало ( стояло это все под AS 4.2 ). |
|
|
||
Alexander |
2012-02-11, 11:59
Сообщение
#6
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
ZyXEL, думаю, вам нужно показать полностью .htaccess файл, чтобы смогли вам помочь. Я же сейчас все проверил. Вам необходимо вставить после RewriteEngine on одну строку:
|
|
|
||
ZyXEL |
2012-02-11, 14:51
Сообщение
#7
|
|
Любитель Группа: Eleanor user Сообщений: 111 Регистрация: 2009-08-28 Из: Moscow Репутация: нет Всего: нет |
Alexander, спасибо большое за помощь. Я вставлял данную строку в конец файла, как только вставил сразу после строки RewriteEngine on все заработало.
Сообщение отредактировал ZyXEL - 2012-02-11, 15:00 |
|
|
||
Текстовая версия | 0.0360 сек. 11 запросов GZIP включен Сейчас: 2024-04-24, 14:15 |