Скажем, у меня был этот URL:только переписать каталог, если успешно переделал родительский каталог
http://mywebsite.com/forum/thread/129
Я хочу переписать:
http://mywebsite.com/index.php?area=forum&page=thread&threadid=129
Как я могу добиться этого без определения всех возможных сочетание подкаталогов?
Вот что я пробовал:
RewriteRule ^(.*)/(.*)/(.*)$ index.php?area=$1&page=$2&threadid=$3 [NC,L]
и несколько других попыток, все бесполезно.
Это то, что я закончил с (и работает):
RewriteRule ^forum/?$ index.php?area=forum [NC,L]
RewriteRule ^forum/thread/?$ index.php?area=forum&page=thread [NC,L]
RewriteRule ^forum/thread/(.*)/?$ index.php?area=forum&page=thread&threadid=$1 [NC,L]
Как я могу добиться того, что я хочу сделать?
Параметры URL могут быть пустыми. Мой сценарий будет проигнорирован.
Спасибо, это почти работает! Он 404 находится в каталоге первого уровня, но работает с каждым подкаталогом (в моем примере я мог бы просмотреть конкретный поток). Также он работает только тогда, когда вы включаете обратную косую черту - может ли это быть дополнительным? Я пытался использовать /? без везения. – Jared
Просьба привести примеры каждого случая, когда он не работал. Я могу предложить выход. – anubhava
mysite.com/forum/ не существует. mysite.com/forum/thread/ делает. mysite.com/forum/thread не существует. mysite.com/forum/thread/ (обратите внимание на обратную косую черту). – Jared