2016-01-08 2 views
1

У меня возникли проблемы с использованием механизма rewrite для достижения моей цели с помощью дружественного URL-адреса.PHP Seo Friendly URL

В принципе у меня есть следующая структура: - index.php - вниз - index.php

Мои ссылки в основном индексе являются чем-то вроде этого:? скачать/index.php вниз = FILENAME

Я бы хотел, чтобы он переписал что-то вроде /download/FILE-NAME (указав папку для загрузки index.php). Я хотел бы мои ссылки на первый индекс может быть использован, а/загрузить/FILE-NAME

Мой реальный код:

RewriteEngine On 
RewriteRule download/^([a-zA-Z0-9_-]+)$ index.php?down=$1 

Может кто-нибудь помочь мне достичь этого? Я постоянно получаю ошибку из-за того, что не могу сделать все правильно. После этого, как я могу получить переменную $ 1 после преобразования в seo дружественные URL? У меня будет загрузка/FILE-NAME, и мне нужно с PHP получить информацию от FILE-NAME.

Так в основном в главном index.php я бы ссылку как/скачать/FILE-NAME, который будет открываться вниз/index.php файл с FILE-NAME (пребывания что-то вроде.

ответ

1
RewriteCond %{REQUEST_URI} ^download/(.*)$ [NC] 
RewriteRule ^(.*)$ index.php?down=$1 [L,QSA] 

поймать имя файла в index.php:

$filename = $_GET["down"]; 
2

Попробуйте это :

RewriteEngine On 
RewriteRule ^download/([a-zA-Z0-9_-]+)$ /ifanydirectory/index.php?down=$1 

И вы можете получить переменные с помощью $_GET['down']ifanydirectory этого имя каталога, в котором index.php существует относительный путь от корневого уровня, если не применимы просто использовать /index.php сделать некоторые эксперименты, вы получите правильную

.
+0

После использования он не работает. После этого я не могу получить доступ к основному index.php, получив запретную ошибку. – Tiago

+0

Использовать относительный путь к index.php, например RewriteRule^download/([a-zA-Z0-9 _-] +) $ /index.php?down=$1 добавить любое имя каталога после/или просто оставить его как /index.php –

+0

Спасибо. Это сработало очень хорошо. Благодарю. – Tiago

1

Может быть, я не объяснить это хорошо, потому что он не работает, как это предполагалось.

Я отредактировал главный вопрос, но попробую объяснить здесь лучше.

У меня есть основной index.php со ссылками, которые бы

download/FILE-1 
download/FILE-2 
download/FILE-3 

, что ссылки должны открыть папку вниз/index.php? Вниз = FILE-NAME. Не предполагается, что каждый может получить доступ к папке «вниз» напрямую, поэтому я хотел бы преобразовать ссылки в моем основном index.php, например /down/index.php?down=FILE-NAME, к чему-то вроде/download/FILE-NAME ,

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