2012-11-08 9 views
1

Я нуб в URL переписывания и я действительно нужна помощь, чтобы понять это:перезаписи URL с параметрами

У меня есть этот URL:? Раздел/news.php URL = раздел/Новости/27-how_to_make_rewrite. html Я хочу получить доступ к этой новости с параметром url, и ссылка будет следующей: section/news/27-how_to_make_rewrite.html

Файл .htacess находится в корне, у меня есть папка с именем раздел и внутри этой папки i есть папка с новостями

Эта работа для меня.

у меня есть:

 
RewriteEngine on 
RewriteBase /section/ 
RewriteRule news/^([a-zA-Z0-9-+/]+)/$ news/news.php?url=$1 

Как я могу это сделать?

ответ

1

Я не использовал это с подпапками, но я бы попробовал что-то вроде этого.

RewriteRule ^news/([^/\.]+)/?$ news/news.php?url=section/news/$1 [L] 

Редактировать

Попробуй так:

RewriteRule ^section/news/([^/.]+)/?$ news.php?url=section/news/$1 [L] 

Вы обычно только хотите положить то, что меняется в переменной. раздел/новости/всегда используется, поэтому вы должны держать его вне замены.

+0

у меня попробовать это не повезло: RewriteRule^([.^/] +)/$ Новости/news.php URL = $ 1 я не думаю, что у меня есть? для размещения папок в URL-адресе, как вы, потому что путь уже находится в параметре url. – user1810401

0

Если URI вы хотите переписать в выглядит следующим образом: section/news.php?url=section/news/27-how_to_make_rewrite.html

тогда у вас слишком много «новости» в вашей цели. Вам также нужно исправить свой шаблон регулярного выражения, чтобы он соответствовал тому, как 27-how_to_make_rewrite.html.

Вы хотите что-то вроде:

RewriteEngine on 
RewriteBase /section/ 
RewriteRule news/(.+)/?$ news/news.php?url=section/news/$1 
Смежные вопросы