2016-07-22 2 views
0

Я знаю, что этот тип вопросов уже задан и ответил, я пробовал несколько способов сделать это, но я не могу заставить его работать. Так я доступ к странице, где я список продуктов и пагинацией, на данный момент, чтобы изменить страницу URL, как то:Скрыть параметры GET с переписыванием url в .htaccess

domain.com/brands?p=2 

, и я хотел бы доступа это так:

domain.com/brands/2 

последний путь я попытался был один:

RewriteRule ^brands/([0-9]*)$ brands?p=$1 [L] 

, но когда я пытаюсь получить доступ к странице я получаю ошибку 404.

Так есть ошибка? Или проблема находится где-то в другом месте? Как и другой URL переписывания, который мешает с этим ..

+1

У вас нет расширения? как .php или что-то еще? – Grommy

+0

Возможно, уже существует переписывание (которое будет одним из объяснений отсутствия расширения файла), которое мешает этой новой перезаписи - возможно, что * бренды * являются каталогом, а URL-адрес действительно */brand/index .php * – CD001

+0

Да, у него есть расширение, но, как сказал CD001, я думаю, что на нем уже есть переписывание. На самом деле я использую CMS (prestashop), и на данный момент я действительно не знаю, что такое исходный файл. По крайней мере, я знаю, что проблема не исходит из правил, которые я пробовал. –

ответ

0

Вот пример, который вы можете применить:

Rewriterule ^post/([0-9]+)/?$ /blog.php?id_blogs=$1 
0

Вы можете попробовать это:

RewriteCond %{THE_REQUEST} /brands\.php\?p=([^\s&]+) [NC] 
RewriteRule^brands/%1? [R=302,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^brands/([^/]+)/?$ index.php?p=$1 [L,QSA,NC] 

убедитесь НА RewriteEngine использовании

RewriteEngine on 
0

Используйте следующий код, чтобы скрыть параметры.

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^blog/(.*)/$ /blog.php?slug=$1 [L] 
Смежные вопросы