Mod_Rewrite包含多个PHP变量和动态文本

时间:2011-09-27 02:04:06

标签: php .htaccess mod-rewrite

所以这是交易:

episode.php?s=1&e=3显示第1季第3集的信息。

因此,使其成为SEO友好我希望能够让用户能够访问以下内容:

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中的两个数字与实际URL中的PHP GET变量相关联?

我知道如何做更多基本的mod_rewrites但是这个让我感到困惑。我猜它是愚蠢的,所以提前感谢你的耐心。

1 个答案:

答案 0 :(得分: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]

我不建议在SEO中使用“_”,而是“ - ”