Задать вопрос
@Syntaxys
Учу Ruby, JS

Чому не работает мой RewriteRule?

Добрый день. Нужно чтобы ссылки вида

htttp://www.site.ru/company.html?name=bestcompany

заменялись ссылками вида

htttp://www.site.ru/company/bestcompany.html


Прошу подсказать где я ошибся. Что делал:

Написал соответственно:

RewriteRule ^company/([^/]*)\.html$ /company?name=$1 [L]


Стоит Modx. .htaccess в корне, friendly url работают, полный код .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.site\.ru [NC]
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

RewriteRule ^company/([^/]*)\.html$  /company.html?name=$1 [L]
  • Вопрос задан
  • 2287 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@IceJOKER
Web/Android developer
Вы видите выше стоит правило, которое отсылает все запросы на index.php и стоит модификатор L, то есть если совпадение найдется, то это будет последним правилом.
Ответ написан
Комментировать
@Syntaxys Автор вопроса
Учу Ruby, JS
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.site\.ru [NC]
RewriteRule (.*) http://www.site.ru/$1 [R=301,L,NE]

RewriteRule ^company/([^/]*)\.html$  /company.html?name=$1 [L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1

Пробовал так, результат аналогичен.
Ответ написан
Комментировать
toxa82
@toxa82
Попробуйте так
RewriteRule ^company/(.*?)\.html$  /company.html?name=$1 [L]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы