1

嘿伙计们,我不知道我在这里做错了什么。

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

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

这就是我写的。请帮我找出我的错误。附言。我对.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 回答