У меня есть URL-адрес, который иногда имеет один или несколько параметров, и я хочу, чтобы иметь возможность переписать соответственно.Переписать URL с несколькими параметрами
URL, являются следующие:
/index.php?pagetitle=Home
мне удалось получить этот URL, чтобы увидеть, как я хочу, используя следующее:
/Home
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([0-9a-zA-Z]+) index.php?pagetitle=$1 [NC,L]
Я также хотел бы иметь один и тот же URL-адрес, но со статьей ID
.com/index.php?pagetitle=Home&articleid=20
, который я хотел бы показать, как это:
.com/Home/20
Но я не могу понять, как заставить его работать на более чем одного параметра.
UPDATE: Ok, так что я смог получить ниже, чтобы работать с помощью: index.php PAGETITLE = $ 1 & ArticleID = $ 2
который отображает как: .com/Главная/20
Я попытался сделать это еще дальше и иметь возможность использовать заголовок статьи, а также правило, которое я пробовал, следующим образом.
RewriteRule ^([0-9a-zA-Z]+)(?:/([0-9a-zA-Z]+))(?:/([0-9]*))?/?$ index.php?pagetitle=$1&articletitle=$2&articleid=$3 [NC,L,QSA]
Так будет отображаться как: .com/Главная/ArticleTitle/20
Но не хочет работать для меня какая-либо одна знаю, что я делаю неправильно и еще раз спасибо заранее.
http://karpium.co.uk/Home/Baits/20 - Это Url Работает
http://karpium.co.uk/Home - Но этот URL не работает, где, как это делает, когда просто используя PAGETITLE = и ArticleID =
я трахнуть мою голову вокруг этого симпатичного URL-адрес Apache маршрутизации, но потом я понял, что это проще сделать в PHP. Попробуйте SLIM PHP «он имеет легкую спокойную маршрутизацию и очень высокую производительность и больше возможностей, чем Apache.conf files – peter
Спасибо, что основная причина для попытки сделать это в htaccess - это потому, что это проект колледжа, и мы должны создать сайт как можно меньше скриптов, но я буду искать будущие проекты. спасибо – Scorpion