2

現在、.htaccess ファイルに ReWrite ルールがあります。

RewriteRule ^item/?([a-zA-Z0-9_]+)?/?([a-zA-Z0-9_]+)?/?$ static/items.php?a=$1&b=$2 [NC,L]

アンダースコアのあるアイテムが選択されます。

item/new_item/new_order

ただし、それを行うには、アンダースコアからダッシュに変更する必要があります。

item/new-item/new-order

RewriteRule 文字列を単に変更すると、それが壊れます。それを修正する方法がわからない。

RewriteRule ^item/?([a-zA-Z0-9-]+)?/?([a-zA-Z0-9-]+)?/?$ static/items.php?a=$1&b=$2 [NC,L]
4

1 に答える 1

0

これはかなりトリッキーなRewrite作業ですが、次のルールを使用して実行できます。

RewriteEngine On

# first replace each _ by - recursively
RewriteRule ^(item)/([^_]*)_(.*)$ /$1/$2-$3 [L,NC]

# now usual stuff to forward request to static/item.php
RewriteRule ^(item)/([^_/]*)/?([^_/]*)/?$ static/$1.php?a=$2&b=$3 [L,QSA,NC]
于 2013-10-20T17:05:27.127 に答える