Переписать seo-url в url с помощью строки запроса - PullRequest
0 голосов
/ 01 июня 2011

Я хочу использовать mod_rewrite, чтобы сделать URL, как это:

http://domain.tld/id/1/type/2/url/http://domain2.tld

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Поместите этот код в ваш файл .htaccess:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{REQUEST_URI} ^/+id/([^/]*)/type/([^/]*)/url/(http://)?(.*)$ [NC]
RewriteRule ^ /api.php?uid=%1&type=%2&url=%3%4 [L,NE]

Это будет поддерживать /id/1/type/2/url/http://domain2.tld и /id/1/type/2/url/domain2.tld URI.

0 голосов
/ 01 июня 2011

Теперь мы в деле! Создайте файл .htaccess, затем добавьте следующие строки:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^id/(.*)/type/(.*)/url/http:/(.*)$   api.php?uid=$1&type=$2&url=$3 [L]

Обратите внимание, что это в конечном итоге передаст domain2.tld в качестве параметра url - вам придется добавить "http://" обратно на себя. Как мы уже обсуждали в комментариях, вам лучше с должным образом сформированные URL-адреса, использующие urlencode, но если это не вариант, это подойдет.

Информации о mod_rewrite в Интернете не хватает. Вот блог: http://www.htmlist.com/how-to/a-simplemod_rewrite-tutorial/ - только один из многих результатов, если вы ищете "mod_rewrite" в Google.

...