0

mod_rewrite に関するかなりの数の投稿を調べたところ、予想よりも複雑であることが判明しました。

私がやろうとしていることは次のとおりです。私は 10 の都市でイベントを開催しています。各都市には、次のような独自の「ディレクトリ」が必要です: site.com/toronto/ site.com/chicago/

イベントには、次のような最大 3 つのサブレベルを含めることができます。

site.com/toronto/musiccamp/sub18

site.com/chicago/bootcamp

そして、これらの URL をページにマップする必要があります

site.com/camps/index.php?city=toronto&type=musiccamp&ages=sub18

site.com/camps/index.php?city=chicago&type=bootcamp

site.com/about - site.com/help などの他のディレクトリは書き換えないでください。

これは .htaccess ファイル内にある必要があります。

これまでのところ、私はこれを行っています(godaddyサーバーで)

#Fix Rewrite
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php?option1=$1 [L]

ただし、オプションをindex.phpに渡すことができません...それらは常にnullです...

4

1 に答える 1

1

結局、これが私の場合に最も効果的でした

#Fix Rewrite
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php?option1=%{REQUEST_URI}

そうすれば、存在しないパスは /test/index.php ファイルに書き直され、そこから処理できるようになります。

REQUEST_URI を渡すことで、N レベルの深さを構築し、index.php ファイルにそれを解析させることができます。

これが誰かに役立つことを願っています。

于 2013-06-26T19:00:04.667 に答える