私はいくつかの変数(PHPの$_GET
でそれらを使うために)を持つページにmod_rewriteを使ってページをリダイレクトしようとしています。ModリライトとPHP
- ユーザが
/c/stg
に入ると、それはitem_show.php?id=$1&f=1
にリダイレクト(f
ページ番号である):数行との例を与えるために。
- ユーザーが
/c/stg/2
と入力すると、show.php?id=$1&f=$2
の2番目のページにリダイレクトされます。
私はこれらのエラーや誤用が私のファイルに存在しないと思うけど、ここで私が欲しいものです:
は、私は、ユーザーが$1
でitem_show.php?id=$1&f=1
を行くために直接/
string
を入力するには、私たちの文字列ですもちろん...
の部分をRewriteRule
から削除してファイルを変更すると、他のすべてのディレクトリでエラーが発生し始め、ファイルは読み込まれません(my.css
)私はすでに定義していますが、RewriteCond %{REQUEST_FILENAME} !-f
...
ご意見はありますか? または、どのようにしてこのシステムを可能にすることができますか?
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#user
RewriteRule ^u/([^/]+)/?$ profile.php?username=$1 [L,NC]
#marked
RewriteRule ^marked/([^/]+)/?$ item_marked.php?id=$1 [L,NC]
#content
RewriteRule ^c/([^/]+)/?$ item_show.php?id=$1&f=1 [L,NC]
RewriteRule ^c/([^/]+)/([^/]+)/?$ item_show.php?id=$1&f=$2 [L,NC]
最初の提案:その中にこれらのルールを使用してファイルの内容を投稿してください。それはメインサーバーの設定か.htaccessファイルですか? –
現在の.htaccessファイルはここにある!: オプションFollowSymLinksを するRewriteCondの%{REQUEST_FILENAME} -f するRewriteCondの%{REQUEST_FILENAME}で RewriteEngine -d #USER のRewriteRule^U /([^ /] +) /?$ profile.php?username = $ 1 [L、NC] #marked RewriteRule ^は/([^ /] +)/?$ item_marked.php?id = $ 1 [L、NC] #content RewriteRule^c /([^ /] +)/?$ item_show.php?[L、NC] $ 1&f = $ 2 [L、NC] RewriteRule^c /([^ /] +)/?$ item_show.php?id = $ 1&f = $ 2 [L、NC] – jnbn
c /を削除すると、すべてのURLがあなたのパターンと一致することを意味します。これはあなたが意味するものです。右: > RewriteRule ^([^ /] +)/?$ –