2011-09-27 81 views
4

的交易:mod_rewrite的多个PHP变量和动态文本

episode.php?s=1&e=3带来了信息第1季第3集

因此使其搜索引擎友好的我希望能够让用户能够随时随地如下:

domain.com/episodes/ShowName_Season_1_Episode_3_The_Title_Of_The_Episode.html(或没有.html,并不重要)。

这是我到目前为止有:

RewriteRule ^episodes/([a-z0-9-]+)_$_([a-z0-9-]+)_$_([a-z0-9-]+).html episode.php?s=$1&e=$2 

我知道这是不对的......我怎么可以把它取两个数字在重写URL,并将它们与PHP GET变量的关联实际的网址?

我知道如何做更多的基本mod_rewrites,但这一个令我困惑。我猜这是愚蠢的,所以先感谢你的耐心。

回答

3

这里是你可以做什么:

RewriteEngine ON 

#domain.com/episodes/ShowName_Season_1_Episode_3_The_Title_Of_The_Episode.html 
RewriteRule ^episodes/([a-z0-9\-]+)_Season_([0-9]+)_Episode_([0-9]+)_(.*)$ episode.php?s=$2&e=$3 [NC,L] 

#Even more SEO friendly: http://domain.com/ShowName/Season/3/episode/4/title/ 
RewriteRule ^episodes/([a-z0-9\-]+)/season/([0-9]+)/episode/([0-9]+)/(.*)/? episode.php?s=$2&e=$3 [NC,L] 

#or Even more SEO friendly: http://domain.com/episodes/ShowName/season-3/episode-1/title 
RewriteRule ^episodes/([a-z0-9\-]+)/season\-([0-9]+)/episode\-([0-9]+)/(.*)/? episode.php?s=$2&e=$3 [NC,L] 

我不推荐使用“_”的搜索引擎优化,但“ - ”

+1

出于某种原因,当我使用的最后一行,你说会最好的搜索引擎优化,我失去了所有的风格信息,我的图片不再出现。 它进入正确的PHP页面,但没有任何样式。几乎所有的文字。 编辑:它现在试图找到我的图像和CSS的东西ehre:插曲/德克斯特/季节3 /第2集/css/img/images/ diglog24.png 而不是/ cdd/img/icons/diglog24 .png应该在哪里。 – user966114

+1

要显示图像的CSS,JS等,你必须把['基地'](http://www.htmldog.com/reference/htmltags/base/)标记在你的HTML – tttony

+0

tttony是正确的。请确保在您的HTML代码中使用基本标记,或者使用/ eg:引用所有CSS,JS或图像,这样您将看到正确的图像。 –