将动态URL转换为具有随机ID的静态URL

时间:2012-12-15 05:11:11

标签: .htaccess url-rewriting

我想用htaccess文件转换我的网址

http://example.com/sfdf121d

http://example.com/test.php?id=sfdf121d

其中'sfdf121d'是随机数,其可变性

我的htaccess代码是

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([0-9]+) test.php?id=$1 [L]

3 个答案:

答案 0 :(得分:1)

这是一个选项。试试这个:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*/(\w+)$ [NC]
RewriteRule .* test.php?id=%1 [L]

答案 1 :(得分:0)

尝试:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ test.php?id=$1 [L]

答案 2 :(得分:0)

您应该提供更多信息: - 返回404时的结果是哪个URL - 是由框架/ cms处理的404 - 那里还有其他条件和重写

我认为重写规则不以数字开头,因此不会重写

尝试从结束检查。 RewriteRule([0-9] +)$ test.php?id = $ 1 [L]

无论如何,您还应检查您是否没有匹配test.php。所以在上面的行之前添加。

RewriteRule(。)?test.php(。)? - [L]

这肯定也可以优化:)