0

我的网站由主页和多个子目录组成,都在同一个域下。

我的 URLS 目前是 ..................| 理想的干净版本:


  • mysite.com
    • mysite.com/?content=content1......................|mysite.com/content1/
    • mysite.com/?content=content2&page=4........|mysite.com/content2/4/
    • mysite.com/?content=content3......................|mysite.com/content3/
    • mysite.com/?content=content4......................|mysite.com/content4/
    • mysite.com/?content=article&id=34…………|mysite.com/article/34/

那么子目录基本相同:

  • mysite.com/subdir, mysite.com/subdir2,mysite.com/subdir3
    • mysite.com/subdir/?content=content1....................|mysite.com/subdir/content1/
    • mysite.com/subdir/?content=content2&page=4.....|mysite.com/subdir/content2/4/
    • mysite.com/subdir/?content=content3....................|mysite.com/subdir/content3/
    • mysite.com/subdir/?content=content4....................|mysite.com/subdir/content4/
    • mysite.com/subdir/?content=article&id=34.........|mysite.com/subdir/article/34/

我已经简单地使用了 mod_rewrite,但我不确定如何处理这些多个变量。另外,我将如何区分实际的子文件夹和内容变量。这样可以防止将“subdir”或“subdir2”作为根站点的内容变量插入。

我玩过很多代码片段,但我已经把我的 .htaccess石板擦干净了,并与大家联系以帮助我重新填充它。您的意见将不胜感激。


注意: 页面查询字符串需要的唯一时间是 'content' == 'content2'

?content=content2&page=4

**文章/id 关系共享相同的规则,所有其他“内容”值都应该是动态的。

4

2 回答 2

0

会为你工作。

RewriteEngine On
RewriteBase /

RewriteRule ^([^/]*)/$ /?content=$1 [L,QSL] 
RewriteRule ^([^/]*)/([^/]*)/$ /?content=$1&page=$2 [L,QSL] 
RewriteRule ^([^/]*)/id/([^/]*)/$ /?content=$1&id=$2 [L,QSL]
于 2012-11-20T05:01:51.173 回答
0

您可以在主目录和子目录中复制类似的内容:

RewriteRule  ^(content\d+)(?:/(\d+))?/?$  ?content=$1&page=$2

或者,如果您不想要一个空的 &page= 参数,您可以将其拆分为两个不同的 RewriteRules。

RewriteRule  ^(content\d+)/?$             ?content=$1
RewriteRule  ^(content\d+)/(\d+)/?$       ?content=$1&page=$2

方法相同article

于 2012-11-20T04:55:32.337 回答