URL-адрес mod_rewrite из переменной php - PullRequest
0 голосов
/ 19 августа 2011

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

http://localhost/The+Beatles

в

http://localhost/artist.php?a=The+Beatles

I 'я пробовал следовать некоторым примерам здесь и на других сайтах и ​​настраивать их в соответствии со своими потребностями. Я придумал следующее, но это не работает:Кажется, я не могу понять?Надеюсь, что кто-то может помочь.

Дейв

1 Ответ

1 голос
/ 19 августа 2011

Вы можете попробовать этот набор правил (адаптированный из ванильного проекта Zend Framework)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [L]
RewriteRule ^(.*)$ artist.php?a=$1 [L,QSA]

Это перезапишет запросы на несуществующие файлы в ваш скрипт artists.php, оставляя при этом обычные запросы на изображения,только таблицы стилей, JavaScript и т. д.

В вашем скрипте artist.php вы просто получаете доступ к исходному запросу через переменную $_GET['a'].

...