0

我不太擅长 htaccess,所以在这里寻求帮助。我有一个网络应用程序在运行

myserver.com/index.html

我将请求(GET,PUT,DELETE)发送到控制器:

myserver.com/controller.php?id=5

有没有一种方法可以让我使用 htaccess 通过类似的 url 提交

myserver.com/controller/5

我玩弄了我的htaccess但只是在尝试点击index.html页面时创建了 500 个错误......

4

1 回答 1

1

如果您发送类似的请求:myserver.com/controller/5并且您想使用 mod_rewrite 将其重写回/controller.php?id=5,您可以使用以下规则:

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

或者不那么普遍:

RewriteEngine On
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule ^/?controller/([^/]+)$ /controller.php?id=$1 [L]
于 2012-11-02T01:13:10.593 回答