我想转换此网址:
mysite.com/cgi-bin/test.cgi/some_random_numbers_and_letters/http/www.somewebsite.com
成:
mysite.com/www.somewebsite.com
我还想转换此网址:
mysite.com/addname.php
成:
mysite.com/add/
我该怎么做?
答案 0 :(得分:4)
查看this blog post,您将学习如何使用mod_rewrite
并自己练习。
答案 1 :(得分: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
编辑:
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即可指定整个域 我使用了域名正则表达式,因此只会匹配域名,而其他网站路径则不会。