2013-12-16 2 views
1

У меня возникли трудности с созданием простого htaccess для перезаписи URL..htaccess и rewrites Правила

Что я хотел бы это URL с 3-мя параметрами:

www.example.com => index.php

www.example.com/module/ => index.php модуль = $ 1

www.example.com/module/action/ => index.php? модуль = $ 1 & действие = $ 2

www.example.com/module/action/1 => index.php -модуль = $ 1 & действие = $ 2 & PARAMS = $ 3

Я сделал это с большим количеством учебников, но когда я пытаюсь с последним, он не смог

RewriteRule ^web/([^/]*)$ index.php?module=$1 [L,QSA] 
RewriteRule ^web/([^/]*)/(.*[^/])$ index.php?module=$1&action=$2 [L,QSA] 
RewriteRule ^web/([^/]*)/(.*[^/])/([0-9]*)$ index.php?module=$1&action=$2&params=$3 [L,QSA] 

Кто-то может мне помочь?

Благодаря

буфф

ответ

1

.* часть вашего второго выражения уплетая что-нибудь после того, как /action/, так что вы должны ограничить его так же, как один прямо перед / и использовать + вместо *:

RewriteRule ^web/([^/]+)$ index.php?module=$1 [L,QSA] 
RewriteRule ^web/([^/]+)/([^/]+)/?$ index.php?module=$1&action=$2 [L,QSA] 
RewriteRule ^web/([^/]+)/([^/]+)/([0-9]+)/?$ index.php?module=$1&action=$2&params=$3 [L,QSA] 
+0

Спасибо! Я думаю, что я немного перепутал URL-адрес с регулярным выражением. * Я прочитаю больше doc – Bouffe

+0

У меня полно "http://www.example.com/templates/professional_website/news.php?ac=post&id=2&p = 1 ', то как я могу это реализовать? на 'https://www.example.com/templates/professional_website/news/post/2/1' –

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