2016-07-30 2 views
0

У меня есть структура URL, как этот.htaccess Rediret динамический URL для пользовательских URL

localhost/sumar/gallery.php?gen=slug-here

, что я хочу, чтобы очистить, например: localhost/sumar/gallery/slug-here

поэтому мне нужно переписать правила для этого условия и запретить кому-либо прямо удалять базовый URL-адрес http://localhost/sumar/gallery.php?gen=slug-here путем автоматического перенаправления его на localhost/sumar/gallery/slug-here

До сих пор я пробовал этот метод:

//that works 

RewriteRule ^Gallery/([A-Za-z0-9-_]+)/?$ gallery.php?gen=$1 

//below one does not seems to work 

RewriteCond %{THE_REQUEST} ^GET\ /sumar/gallery\.php\?gen=([\w-]+) [NC]  
RewriteRule ^sumar/gallery\.php$ /sumar/Gallery/%1? [R=301,L] 
+0

Что такое структура каталогов? – hjpotter92

+0

все файлы, в том числе .htaccess, находятся на корне –

ответ

1

Вы должны были бы действовать на сырье запросов:

RewriteEngine On 

RewriteRule ^(sumar)/Gallery/([\w-]+)/?$ /$1/gallery.php?gen=$1 

RewriteCond %{THE_REQUEST} ^GET\ /sumar/gallery\.php\?gen=([\w-]+) [NC] 
RewriteRule ^sumar/gallery\.php$ /sumar/Gallery/%1? [R=301,L] 

PS: Набор символов [A-Za-z0-9_] могут быть представлены с \w.

+0

спасибо, но он не работает, на самом деле у меня есть структура URL, подобная этой http: //localhost/sumar/gallery.php? Gen = sumar-shop, которую я хочу очистить например: http: // localhost/sumar/gallery/sumar-shop, поэтому мне нужно переписать правило для этого условия и запретить кому-либо прямо удалять базовый URL «gallery.php» путем автоматического перенаправления его на */gallery /. –

+1

@RahmanQaiser: измените последнюю строку на 'RewriteRule^gallery \ .php $/sumar/Gallery /% 1? [R = 301, L] ', но вы должны были предоставить эту информацию в вопросе – anubhava

+0

@RahmanQaiser и где хранится файл .htaccess? – hjpotter92

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