1

ここで何が間違っているのかわかりません。

www.example.com/data/stuff1/stuff2/stuff3

www.example.com/anything.php?par1=data&&par2=stuff1/stuff2/stuff3

そして、これは私が書いたものです。私の間違いを理解するのを手伝ってください。Ps。私は.htaccessに非常に慣れていません。

ありがとう!

 RewriteEngine On    # Turn on the rewriting engine
 #RewriteCond %{REQUEST_URI} !www\.a3k\.in
 RewriteRule     /([^/]+)/?(.*)$ /anything.php?api=$1&&data=$2    [NC,L] 
4

1 に答える 1

2

aのパスにはRewriteRule先行するスラッシュが含まれていません。また、パスの先頭をマークするためにaを追加しなかったため^、これにより誤った動作が発生した可能性があります。代わりにこれを試してください:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/(.*)$ anything.php?api=$1&data=$2 [NC,L]

RewriteCond %{REQUEST_FILENAME}さらに、実際に存在するファイルのURLが書き換えられないようにするためにを追加しました。

于 2012-05-19T16:03:32.900 に答える