2009-11-04 4 views

ответ

1

Если (RewriteCond), использованный Вами URI, начинаться с /new/, отображается сценарий new.php (RewriteRule). Он будет передан запрошенному URI в качестве параметра title, строка запроса (если таковая имеется) будет сохранена (флаг QSA), и после этого никакие дополнительные правила не будут обработаны (флаг L).

т.е.

  • http://example.com/new/test.html назвали бы http://example.com/new.php?title=/new/test.html
  • http://example.com/new/test2.html?query=test3 назвали бы http://example.com/new.php?title=/new/test2.html&query=test3
0

Если URL-адрес начинается с «/ new /», он переписывает URL-адрес в new.php, ставя старый URL как значение для поля «title».

"/ new/Foo + Bar? Bam = bug-AWWK!" становится «new.php? title =/new/Foo + Bar & bam = ошибка-AWWK!" или (если RewriteRule находится в файле .htaccess) «new.php? title = new/Foo + Bar & bam = bug-AWWK!».

0

В основном это делает хорошие, красивые URL.

Требуется URL-адрес, например http: /www.example.org/new/foobar, а в фоновом режиме - http://www.example.org/new.php?title=foobar.

REQUEST_URI - это все после имени хоста. В приведенном выше примере это/new/foobar.

0

Ваш пример может быть объяснен как

RewriteCond %{REQUEST_URI} ^/new/ 

Если запрос URL ваше имя хост (REQUEST_URI) следует по new папке ...

RewriteRule ^(.*)$ new.php?title=$1 [L,QSA] 

Затем переписать их в качестве имени хоста следует по условию string new.php?title= и заканчивать переменными после /new/ в исходном запросе URL.

Пример: запрос URL-адрес, чтобы:

http://yoursite.com/new/orange 

сервер будет интерпретировать это как:

http://yoursite.com/new.php?title=orange 
0

REQEUST_URI содержит текущий absolute URL path. Таким образом, правило будет применяться для каждого запроса, URL-адрес которого начинается с /new/… и переписывает/перенаправляет его внутри файла new.php в текущем каталоге (при условии, что вы не изменили базовый URL-адрес с помощью RewriteBase).

Итак, если вы используете это правило в.Htaccess файл

  • вашей корневой директории (/), запрос о /new/foo/bar будет переписан/перенаправлены /new.php?title=new/foo/bar.
  • /new/, запрос /new/foo/bar был бы переписан/перенаправлен на /new/new.php?title=foo/bar.
  • /new/foo, запрос будет переписан/перенаправлен на /new/foo/new.php?title=bar.
Смежные вопросы