2014-12-02 2 views
1

Я хочу переписать.htaccesss RewriteRule не будет работать

htttp: //www.site.ru/company.html имя = bestcompany

в

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

Пожалуйста, предложите, где я был неправ. Что я делаю:

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

CMS MODx, .htacces в корневой папке, полный код .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?name=$1 [L] 

ответ

0

Переупорядочивайте правила, как это:

RewriteEngine On 
RewriteBase/

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

RewriteCond %{THE_REQUEST} \s/+(company)(?:\.html)?\?name=([^\s&]+) [NC] 
RewriteRule^/%1/%2.html? [R=302,L,NE] 

RewriteRule ^company/([^./]+)\.html$ /company?name=$1 [L,NC,QSA] 

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

Спасибо, но это не делает помогает. –

+1

Этот комментарий тоже не поможет. Укажите подробную информацию о том, какой полный URL вы указали в браузере и какую ошибку вы получили? – anubhava

+0

Полный url: htttp: //www.site.ru/company.html? Name = firstcompany Его не ошибки, я знаю, что .htacees Работа с дружественными URL-адресами, но URL-адрес не изменяется на htttp: //www.site.ru /company/firstcompany.html –

Смежные вопросы