我想這個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/
如何我要這樣做嗎?
我想這個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/
如何我要這樣做嗎?
看看this blog post,你將學習如何使用mod_rewrite
並練習自己。
內的.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
編輯:
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即可指定 我使用了域正則表達式,因此只有域名將被匹配,而其他網站路徑則不會。
很好的答案。我從http://www.workingwith.me.uk/articles/scripting/mod_rewrite – Skilldrick 2009-10-17 12:50:39