mod_rewrite в .htaccess

Эй все, как может, я уменьшаю это:

www.example.com/index.php?page=viewblog&category=awesome

вниз к этому:

www.example.com/blog/awesome

Вышеупомянутые списки все сообщения в блоге в той категории, но я также хочу объем для добавления заголовка сообщения на конце его также, как это:

www.example.com/index.php?page=viewblog&category=awesome&post=why-trees-are-green

И это должно сократиться вниз к:

www.example.com/blog/awesome/why-trees-are-green

Какие-либо идеи, кто-либо? Заранее спасибо :)

1
задан Tim 20 June 2010 в 10:36
поделиться

2 ответа

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule blog/([^/]+)/?$ index.php?page=viewblog&category=$1 [L]
RewriteRule blog/([^/]+)/([^/]+)/?$ index.php?page=viewblog&category=$1&post=$2 [L]

Условие гарантирует, что запрошенный URL не является фактическим файлом, который вы хотите обслуживать (CSS, изображения и т. Д.)

Затем, одно правило на уровень, первое будет перезаписано http://yourserver.com/blog/whatever на http://yourserver.com/index.php?page=viewblog&category=whatever

Второй перепишет http://yourserver.com/blog/whatever/wheever в http://yourserver.com/index.php?page=viewblog&category=whatever&post=whe Never

Если вам нужно больше уровней, добавьте больше правил соответственно.

2
ответ дан 2 September 2019 в 23:39
поделиться

Что-то вроде этого?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/([^./]+)$ index.php?page=view$1&category=$2 [L]
RewriteRule ^([^./]+)/([^./]+)/([^./]+)$ index.php?page=view$1&category=$2&post=$3 [L]
0
ответ дан 2 September 2019 в 23:39
поделиться
Другие вопросы по тегам:

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