2016-02-26 3 views
1

Я ищу для создания PHP-файла, который может обрабатывать несколько переменных GET и выходные данные соответственно, однако я хотел бы удалить базовый элемент категории, чтобы сократить его с Htaccess, например, так:Переписать htaccess URL-адрес базы данных для нескольких переменных GET с помощью PHP

http://website.com/news/politics 
http://website.com/videos/funny 
http://website.com/posts/food 

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

RewriteRule ^news/([^/]+)/?$ tpl-news.php?slug=$1 [L,QSA,NC] 
RewriteRule ^videos/([^/]+)/?$ tpl-videos.php?slug=$1 [L,QSA,NC] 
RewriteRule ^posts/([^/]+)/?$ tpl-posts.php?slug=$1 [L,QSA,NC] 
etc ... 

с другой стороны, я мог бы использовать следующее:

RewriteRule ^category/([^/]+)/?$ tpl-category.php?type=$1&slug=$2 [L,QSA,NC] 

Я не хочу иметь URL вроде:

http://website.com/category/news/politics 
http://website.com/category/videos/funny 
http://website.com/category/posts/food 

Но хотелось бы, чтобы удалить «категорию» из URL, как так:

http://website.com/news/politics 
http://website.com/videos/funny 
http://website.com/posts/food 

Однако другие страницы/адреса, для пример, как перечисленные ниже, не должны быть затронуты этим правилом:

http://website.com/account/user 
http://website.com/newspost/abcdef // a single post page 
http://website.com/videopost/abcdef // a single video page 

Эти «типы» (новости, видео, сообщения, ...) являются ограниченное число, т. е. у меня нет возражений, предопределяющих их, так что они не конфликтуют с другими URL-страницами страницы (такими как папки с изображениями, разделы администратора, подстраницы профиля пользователя и т. д.)

ответ

1

Вы можете использовать это общее правило :

RewriteRule ^(news|videos|post)/([^/]+)/?$ tpl-category.php?type=$1&slug=$2 [L,QSA] 

или если вы хотите использовать существующие файлы .php, например tpl-news.php, tpl-post.php и т.д., то используйте:

RewriteRule ^(news|videos|post)/([^/]+)/?$ tpl-$1.php?slug=$2 [L,QSA] 
+0

Спасибо @anubhava, он работает для страниц категорий, однако теперь некоторые другие URL-адреса перепутались с этим правилом. Я добавил еще некоторые спецификации выше, см. Правки в нижней части. – rainerbrunotte

+0

ok проверить обновленный ответ – anubhava

+1

awesome !! работает как шарм! большое спасибо ! :) – rainerbrunotte

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