.htaccess URL重写(将单个实体分成两个)

时间:2011-10-26 03:50:17

标签: .htaccess url rewrite

尝试了来自此网站,Google搜索和其他来源的一些建议无济于事。

我想要一个重写规则,这个规则需要这样的网址:

http://somesite.com/abc123

并将其更改为:

http://somesite.com/abc/123

abc123是一个动态集,但总是由(alpha)(数字) - b256,d1,c3456等组成。

有没有办法用.htaccess做到这一点?我正在尝试的一切都不起作用。

2 个答案:

答案 0 :(得分:0)

这可以做到..很容易实际上假设你总是分开alpha和数字....你的.htaccess会说:

Rewrite on
RewriteRule ^([A-z]+)([0-9]+)(.*)   $1/$2$3             [QSA,L]

请注意,QSA附加任何查询字符串,L在此处停止规则。其余的是好的措施...如果有像/abc123.html这样的东西那么它会成为/abc/123.html

答案 1 :(得分:0)

我有一段时间没遇到这个问题了。 .htaccess不需要创建它,它只需要处理它。我希望我对此:)

这将在.htaccess

中处理它
Rewrite on
RewriteRule ^([^/]*)([^/]*)$ index.php?varone=$1&vartwo=$2 [L]

但是你需要以这种方式将它链接到你的页面上

http://somesite.com/abc/123

然后你可以用php

请求vars
    $varone = htmlspecialchars($_REQUEST["varone"]);
    $varone = preg_replace("/[^A-z]/","", $varone);


    $vartwo = htmlspecialchars($_REQUEST["vartwo"]);
    $vartwo = preg_replace("/[^0-9]/","", $vartwo);