使用-`s重写.htaccess中的URL

时间:2014-05-13 18:27:59

标签: php html apache .htaccess mod-rewrite

亲爱的堆栈溢出成员

我的网站地址有点问题,以及我试图制作的Htaccess文件。 需要完成的旧URL是例如: /index.php?side=read&les=22&title=tets-2-ape-apekatt

我在.htaccess文件中使用以下代码:

RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]

我需要这样做:

/index.php?side=read&les=22&title=tets-2-ape-apekatt

/ID-TITLE.html

例如:

http://malinpedersen.no/23-how-i-get-it.html

标题可以是:hello-im-from-stackoverflow或任何你想要的东西。

必须使用

识别id
$page   = addslashes($_GET['les']);

正在读取我获取信息的线程的id。 目前我的html href代码是:href="<? echo $adresse;?>/<?echo $id;?>-<?echo $name?>"

我需要它才能工作,试图在网上搜索,但没有运气。

有人可以帮帮我吗?

编辑:

因为它在标题中可能是多重的,它会是这样的:

RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /index.php?side=read&id=$1&title=$2 [L]

可以使这个更干净吗?

1 个答案:

答案 0 :(得分:0)

这应该有效:

RewriteEngine On
RewriteRule ^([0-9]+)-(.*).html$ /index.php?side=read&les=$1&title=$2 [L]

它将读取id和title并默默地将其重写为index.php?side=read&les=id&title=title