1

mod_rewrite の新機能。私は単にこのようなものを作りたいです:

# Turn on the rewriting engine
RewriteEngine On    

# use item php page to show the item
RewriteRule    ^parts/./[.]$    parts/item.php?id=$1    [NC]    

そのため、ユーザーが example.com/parts/anything/anything と入力すると、URL は次の場所に移動します

example.com/parts/item.php?id=the2ndanything

私の理解では、ピリオドは任意の文字を意味します。また、ピリオドの後に + を追加しようとしましたが (これは何となく意味があるはずです)、それでも機能しませんでした。

ところで、以前の Web ホストをまだ変更していないため、一時的な URL を使用しているため、実際の完全な URL には ~ が含まれています。これが mod_rewriting の問題ではなく、動作を停止する問題であることを願っています。.htaccess ファイルは、Web サイト index.html のルート フォルダーにあります。

4

1 に答える 1

6

任意の文字.を意味しますが、それに続く(1つ以上)または(0以上)必要があり、として使用するにはキャプチャする必要があります。までのすべての文字を一致させるために使用しますが、一致することは含まれませんが、後の最初のディレクトリをキャプチャしません。+*()$1[^/]+/parts/

RewriteEngine On
# (.*) captures the second "anything" in $1
RewriteRule ^parts/[^/]+/(.*)$ parts/item.php?id=$1 [L]
于 2013-01-24T02:18:39.047 に答える