Запутывающее правило переписывания: нужна помощь! - PullRequest
0 голосов
/ 14 ноября 2009

Мне нужно правило перезаписи, которое будет выполнять внутреннее перенаправление из: <domain>/directory/<anything>/<anything>.php до: <domain>/directory/<anything>.php с <anything>, переданным в качестве параметра, и все остальные параметры нужно оставить в покое.

Я получаю головные боли от mod_rewrite. У меня проблема <anything>.php, я не могу найти примеров для чего-либо подобного.

Пример: domain.com/directory/something/lol.php?param=value должен внутренне перенаправить на domain.com/directory/lol.php?param=value&someotherparam=something

Спасибо за помощь! Я прочитал много учебных сайтов, но я здесь в неведении ...

РЕДАКТИРОВАТЬ: теги кода добавлены, поскольку он не отображается должным образом>.>

Не на всех страницах будут передаваться другие параметры, некоторые могут иметь только один, некоторые могут иметь много. Это еще один момент, который смущает меня ...

Ответы [ 2 ]

2 голосов
/ 14 ноября 2009
RewriteEngine On

RewriteBase /  
RewriteRule ^directory/([^/]+)/([^/]+)\.php$ directory/$2.php?someotherparam=$1 [QSA,L]

Это перенаправит domain.com/directory/something/lol.php?param=value на domain.com/directory/lol.php?param=value&someotherparam=something, как требуется. (Я отмечу, что в настоящее время ни один из других ответов не делает этого.)

0 голосов
/ 14 ноября 2009
RewriteEngine On

RewriteBase /
RewriteRule ^rewrite/(.+)/lol.php$ rewrite/lol.php?someotherparam=$1 [QSA,R,L]
...