2009-10-16 3 views
1

Я хочу, чтобы преобразовать этот URL:Как переписать URL-адреса?

mysite.com/cgi-bin/test.cgi/some_random_numbers_and_letters/http/www.somewebsite.com 

в:

mysite.com/www.somewebsite.com 

Я также хочу, чтобы преобразовать этот URL:

mysite.com/addname.php 

в:

mysite.com/add/ 

Как я это делаю?

ответ

4

Посмотрите на this blog post, и вы узнаете, как использовать mod_rewrite и попрактиковаться.

+1

Хороший ответ. Я узнал все, что знаю (не очень, правда, но достаточно для этого вопроса) из http://www.workingwith.me.uk/articles/scripting/mod_rewrite – Skilldrick

1

В .htaccess или apache2.conf

Rewrite Engine On 
Rewrite Rule ^(www\.)?([a-zA-Z]+)\.(.{1-5})$ cgi-bin/test.cgi/letters/http/$1$2$3 
Rewrite Rule ^addname.php$ cgi-bin/addname.cgi 
Rewrite Rule ^add/?$ cgi-bin/addname.cgi 

EDIT:

Rewrite Engine On 
Rewrite Rule ^add/(.*)$ cgi-bin/addname.cgi$1 
Rewrite Rule ^addname.php(\?(.*))$ cgi-bin/addname.cgi$1 
RewriteCond %{REQUEST_URI} !^/$ 
Rewrite Rule ^((.*)\.)?(.*)(\.[A-Za-z\.]{2,8})(/.*)$ cgi-bin/test.cgi/?subdomain=$1&urlname=$2&tld=$3&path=$4 [L] 

Фиксированные и тестировал регулярное выражение на этот раз. $ 1, $ 2, $ 3, $ 4 соответствуют частям домена. Весь домен может быть указан просто с помощью $ 1 $ 2 $ 3 $ 4 Я использовал регулярное выражение домена, поэтому будут сопоставлены только домены, а другие пути к веб-сайту не будут.

+0

это не всегда будет www. это coudl любой субдомен. – pingu

+0

Это должно исправить это. – CodeJoust

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