1

mod_rewriteを使用して有用なURLをクリーンアップしようとしています。これはよくある質問だと思いますが、mod_rewriteにはそれほど熱心ではありません。

私はこのURLを持っています:http://mysite.com/user.php?user = fatcatmat&sort = popularv

次のように書き直せるようにしたいと思います。

http://mysite.com/user/user/fatcatmat/sort/popularv(URL の重複を削除する方法はありますか?)

PHP拡張機能の削除はなんとかできたと思います。

RewriteRule ^(.*)\$ $1.php [nc]

上記は正しいですか?

別のページについては、私はこのようなものを持っているでしょう。

RewriteRule ^/?user(/)?$ user.php

主な質問:上記のすべてを行うのは少し面倒ですが、変数とその値の間に「/」を配置し、すべてのページから.php拡張子を削除するMEGA書き換えルールはありますか?

助けてくれてありがとう。

4

3 に答える 3

0

この Web サイトからオンザフライで書き換えルールを作成できますMod_rewrite ジェネレーター

于 2009-07-16T09:00:33.490 に答える
0

次のルールを試してください。

RewriteCond %{THE_REQUEST} ^[A-Z]+\ (/[^/?\s]+)+\.php[?/\s]
RewriteCond %{QUERY_STRING} ^([^/&=]+)=([^/&]+)(&([^&].*))?$
RewriteRule \.php$ ?%4 [N,E=PATH:%{ENV:PATH}/%1/%2]
RewriteCond %{ENV:PATH} ^/
RewriteRule \.php$ %{ENV:PATH} [L,R=301]

RewriteRule ^(.*)/([^/]+)/([^/]+)$ $1?$2=$3 [N,QSA]
RewriteRule ^([^/]+)/([^/]+)$ $1.php?$1=$2 [L,QSA]

しかし、PHP を使用する方がはるかに簡単です。要求された URI パスを確認し (「 」を参照$_SERVER['REQUEST_URI'])、必要に応じてリダイレクトします (「header関数」を参照)。

于 2009-07-16T08:57:13.713 に答える