2012-08-18 3 views
3

Я делал все очень похожее раньше, но по какой-то причине у меня возникают небольшие трудности с конкретным сценарием. Я хочу передать путь к папке как переменную и сделать ее красивой.Получение переменной из довольно url

У меня есть рабочий URL, как:

http://mysite.com/albums/index.php?p=folder/subfolder/ 

Я могу смотреть его без 'index.php', как:

http://mysite.com/albums/?p=folder/subfolder/ 

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

http://mysite.com/albums/folder/subfolder/ 

В принципе, все, что после/альбомы/должно быть одной переменной. Я играл с моим .htaccess RewriteRule и не мог заставить его работать. (Получить 404 ошибки) Это то, что я в настоящее время:

RewriteEngine On 
RewriteRule ^albums/(.*)$ albums/?p=$1 

ответ

1

ниже того, что я использую хотя каждый вызов направляются в мой файл index.php и оттуда я сделать что-нибудь с ним

Options +FollowSymLinks 
    RewriteEngine On 

    RewriteCond %{SCRIPT_FILENAME} !-d 
    RewriteCond %{SCRIPT_FILENAME} !-f 

    RewriteRule ^.*$ ./index.php 

Надеется, что это помогает

+0

Это, кажется, не переносит переменную на мою страницу. Я использую это, чтобы проверить «if (! Isset ($ _ GET ['p']))». Возможно, я смогу изменить это, чтобы удовлетворить мои потребности, но я буду продолжать пытаться. Благодарю. – Chris

+0

Нет, это не то, что он делает, так это то, что весь запрос url отправляется в файл корневого индекса, и теперь вы можете сделать sumtin как этот $ url = $ _SERVER ['REQUEST_URI'], который теперь можно разбить, как этот $ params = explode ("/", $ url); – omoabobade

+0

Спасибо, omoabobade, я смог выяснить, что я пытался сделать, используя сделанные вами предложения. – Chris

0

Изменение (.*) в (.+) для обеспечения есть по крайней мере один символ после /, в противном случае ваше правило петли ...

+0

Я попробовал ваш но я получаю 500 ошибок. Я буду исследовать (. +) Больше и, может быть, с некоторыми настройками, я все выясню. Благодарю. – Chris

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