2012-01-24 32 views
0

我发urlencode d地址作为GET参数调用fromurlhttp://localhost/myapp/admin/login.php页:与urlencoded的参数重写URL

http://localhost/myapp/admin/login.php?fromurl=%2Fmyapp%2Fadmin%2F 

我想能够使用mod_rewrite我感到很表单上一个更好的网址新的。这个例子的更好的URL变种上方将具有以下形式:

http://localhost/myapp/admin/login/%2Fmyapp%2Fadmin%2F 

我在.htaccess尝试过这一行,没有工作(网址无法找到):

RewriteRule ^admin/login/(.*)$ admin/login.php?fromurl=$1 

我还有其他mod_rewrite规则工作。在这种情况下,我应该如何编写RewriteRule?

+0

检查HTTP访问该://dracos.co.uk/code/apache-rewrite-problem/看看这是否描述了你的问题。 – Sam

回答

1

尝试逃离你的斜线:

RewriteRule ^admin\/login\/(.*)$ admin/login.php?fromurl=$1 

此外,您可能需要添加一个rewritebase(重写规则之前),因为你不通过专用的主机名

RewriteBase /myapp/ 
+0

感谢您的建议,不幸的是它没有奏效。我的其他RewriteRule的工作没有逃避斜线或使用RewriteBase。 – Deleted

+0

您的.htaccess是否被覆盖(由另一个.htaccess或虚拟主机)?检查您的条目并在必要时启用AllowOverride。 – jlb