1
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ product.php?ref=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /category.php?sub=$1 [L]

変数サブで送信された値が、ref からの値と競合しています

product.php?ref=$1 [L]
category.php?sub=$1 [L]
4

2 に答える 2

2

何らかの形式のセマンティック URL を意図するあらゆる種類の書き換えルールに対する私のアドバイスは次のとおりです。

/home

それ以外の

index.php?page=home

次のように、すべての URL をキャプチャする 1 つのルールを作成します。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ handler.php?__url=$1 [QSA]

次に、何をしたいのかを handler.php に理解させます。

カテゴリと製品を知っているので、URL が次の場合は/[product|category]それを処理します。

于 2013-10-01T15:14:30.587 に答える