0

私のサイトは、メインページと複数のサブディレクトリで構成されており、すべて同じドメインにあります。

私のURLは現在.................|のようなものです 理想的なクリーンバージョン:


  • 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

**同じルールがarticle/id関係で共有され、他のすべての「コンテンツ」値は動的であると予想されます。

4

2 に答える 2

0

メインディレクトリとサブディレクトリでそのようなものを複製することができます。

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

または、空の&page =パラメータが必要ない場合は、2つの異なるRewriteRulesに分割することもできます。

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

のアプローチについても同じですarticle

于 2012-11-20T04:55:32.337 に答える
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 に答える