私はきれいなURL上の複数のスレッドを通過しましたが、それでも私はそれを混乱させる。私はコアPHPのWebサイトでクリーンなURL戦略を使用したい。私は複数のURLの私の.htaccessファイルを変更しました。しかし、私の次のコードは、コードの上コアできれいなURL
# Turn on the Rewrite Engine
RewriteEngine on
# Rewrite for buyleads.php
RewriteRule ^buyleads buyleads.php [NC,L]
## NC makes the rule non case sensitive
#L makes the last rule that this specific condition match
# Rewrite for search.php?u=xxx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ search.php?cat=$1 [L]
# Rewrite for search.php?u=xxx&subcat=xxx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ search.php?cat=$1&subcat=$2 [L]
# Rewrite for detail.php?u=xxx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^detail/([a-z0-9]+)$ /detail.php?id=$1 [L]
質問1. search.phpのためにのみ動作し、私はwww.sitename.com/detail/29(detail.phpコード)を入力した場合1ページ(1つのURL)でのみ動作しますwww.sitename/29(search.php)のように動作します。私が行った間違い
質問2.私はまた、このようなすべてのURLを.htaccessファイルだけで作ることが本当に可能であることを知りたいと思いますか?コアPHPで作成する方法はありますか?
質問3.最後に、ユーザーをクリックした後、CLickのように.htaccessを使ってURLをクリーンアップする方法をwww.sitename.com/34/50にする必要があることを知りたいと思います。ご質問について事前
で、元のURL /パスを取得することができますと 'RewriteCond'です。私はあなたが書き換えをスキップする時期について各ブロックに条件を1つだけ追加する必要があると思います。現在のところ、すべてのリクエストは最初のブロック 'search.php'で満たされます。ヒント:URIと一致するstrringは、明らかに他の方法があるかもしれませんが、私は今考えていることがあります。 – Jigar
もっと教えていただけますか? – nehaJ