我不是很擅长htaccess,所以在这里寻求帮助。我有一个运行在
的网络应用程序myserver.com/index.html
我将请求(GET,PUT,DELETE
)发送给控制器:
myserver.com/controller.php?id=5
有没有办法可以使用htaccess通过像
这样的网址提交myserver.com/controller/5
我玩过htaccess
,但在尝试点击index.html
页面时却设法创建了500个错误...
答案 0 :(得分: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]