1

Тема: Проблема с синтаксисом для mod_rewrite

У меня такой же вопрос wink

У меня проблема с синтаксисом для mod_rewrite:

у меня есть запрос вида
http://www.nextaz.com/showsoft.php?id=7352
а хотелось бы
http://site.ru/download/7352/

а вот такой запрос
http://www.nextaz.com/shownew.php?id=1166391378
а хотелось бы
http://www.nextaz.com/news/1166391378/

а вот такой запрос
http://www.nextaz.com/shownew.php?id=1166391378
а хотелось бы
http://www.nextaz.com/news/1166391378/


а вот такой запрос
http://www.nextaz.com/showarticle.php?id=1167938831
а хотелось бы
http://www.nextaz.com/articles/1167938831/

Подскажите, пожалуйста, что должно быть в файле .htaccess и какие правила нужно составить?

Заранее спасибо !

2

Re: Проблема с синтаксисом для mod_rewrite

Вот так выглядит сейчас часть моего файл .htaccess

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteRule ^showarticle.php index.php
RewriteRule ^showarticles.php index.php
RewriteRule ^shownew.php index.php
RewriteRule ^showsoft.php index.php

3

Re: Проблема с синтаксисом для mod_rewrite

RewriteEngine On
RewriteBase / 
RewriteRule ^download/(.*)$ showsoft.php?id=$1 [L]
RewriteRule ^news/(.*)$ shownew.php?id=$1 [L]
RewriteRule ^articles/(.*)$ showarticle.php?id=$1 [L]

(.*) лучше заменить на что-то вроде ([1-9]{4,10}), зачем - читайте здесь Apache Module mod_rewrite

При возникновении проблем со стилями и относительными ссылками, замените их на полные, тоесть: showsoft.php заменить на http://domainname.com/showsoft.php. Или переписать правила вот в такой вид:
RewriteRule ^download-(.*)$ showsoft.php?id=$1 [L]
Заменив косую черту другим символом.