mod_rewrite改变我的网址

时间:2012-03-26 20:06:59

标签: php mod-rewrite

我在.httacess的mod_rewrited有一些问题。

我们创建了一个网站,网站链接有这个结构。

www.myweb.com/page.php?title=this-is-the-title&filmID=454122
AND
www.myweb.com/video.php?title=this-is-the-title&filmID=2567971&player=veevr
AND
www.myweb.com/gallery/index.php?galeriID=11

可以将此结构更改为:

www.myweb.com/page/this-is-the-title/454122.html

www.myweb.com/video/this-is-the-title/454122/veevr.html

www.myweb.com/gallery/index/11.html

任何帮助都会非常棒 感谢您阅读帖子! 最好的祝福 JoinOG

1 个答案:

答案 0 :(得分:1)

在您的Web根文件夹中的.htaccess文件中输入以下代码。

RewriteEngine On

RewriteRule ^page/([^/.]+)/([0-9]+).html/?$ page.php?title=$1&filmID=$2 [L]
RewriteRule ^video/([^/.]+)/([0-9]+)/([^/.]+).html/?$ video.php?title=$1&filmID=$2&player=$3 [L]
RewriteRule ^gallery/index/([0-9]+).html/?$ gallery/index.php?galeriID=$1 [L]

这样做会将网址/page/something/12345.html隐藏到page.php?title=something&filmID=12345。它会掩盖它,所以当你转到第一个URL时,它仍然看起来像地址栏中的第一个URL,但实际上是第二个URL。有关其工作原理的简单教程如下:http://corz.org/serv/tricks/htaccess2.php

服务器会认为您位于/page/something/文件夹中,因此如果您的CSS,图片和超链接是本地相对链接,则它们将无法正常工作,例如它会在/page/something/yourimage.png中查找与此<img src='yourimage.png'/>相关联的图片。为了让它按照您的喜好工作,您需要在所有链接之前加上正斜杠,使其相对于您的网站的根文件夹,如<img src='/yourimage.png'/>