X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Изменение вида ссылки.
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, попробуйте забить вот таким образом:

RewriteRule ^test\-server\-([0-9]+)\.html index.php?module=test&s=$1
RewriteRule ^test\.html index.php?module=test
Перейти в начало страницы
+Цитировать сообщение
ZyXEL
сообщение 2012-02-10, 23:08
Сообщение #5
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 111
Регистрация: 2009-08-28
Из: Moscow

Репутация:   нет  
Всего: нет


Ввел, то что Вы выше написали, результат тот же.

http://cyberathlete.ru/test.html - вот сам модуль.

Как я уже писал скрипт обрабатывает ссылки так:
case "eleanor":
$link = $s ? "index.php?module=test&s={$s}" : "index.php?module=test";
break;


И при переходе по ссылке: http://cyberathlete.ru/index.php?module=test&s=1 все работает.

Но вот при попытке открыть адрес /test-server-1.html снова ошибка 404.

Раньше скрипт обрабатывал ссылки так:
    elseif ($lgsl_config['cms'] == "phpnuke")
    {
      if (is_numeric($s))
      {
        $link = "monitoring-server-{$s}.html";
      }
      else
      {
        $link = "monitoring.html";
      }
    }


В .htaccess были следующие строки:
RewriteRule ^monitoring-server-([0-9]*).html                        index.php?name=monitoring&s=$1
RewriteRule ^monitoring.html                                        index.php?name=monitoring


И все работало ( стояло это все под AS 4.2 ).
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2012-02-11, 11:59
Сообщение #6
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


ZyXEL, думаю, вам нужно показать полностью .htaccess файл, чтобы смогли вам помочь. Я же сейчас все проверил. Вам необходимо вставить после RewriteEngine on одну строку:
RewriteRule ^test\-server\-([0-9]+)\.html index.php?module=test&s=$1 [L]
Перейти в начало страницы
+Цитировать сообщение
ZyXEL
сообщение 2012-02-11, 14:51
Сообщение #7
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 111
Регистрация: 2009-08-28
Из: Moscow

Репутация:   нет  
Всего: нет


Alexander, спасибо большое за помощь. Я вставлял данную строку в конец файла, как только вставил сразу после строки RewriteEngine on все заработало.

Сообщение отредактировал ZyXEL - 2012-02-11, 15:00
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0551 сек.    11 запросов    GZIP включен    Сейчас: 2021-09-21, 21:06